About Me

In case you care about who’s behind these posts – I’m sure you don’t but if you do – here is who I am.

I am born in 1986 in France, and studied IT there as an engineer until 2009. Then, when I was done with my studies, a classmate/friend of mine called me and asked me: “I have a job for you in ECM, are you interested?”. I thought what the hell is ECM? Then I googled it and it seemed really boring :). This is actually the frequent opinion on the matter, which I can’t disapproved because when I introduce my job, it really does sound boring. I mean, come-on, dealing with documents all days sounds like the most boring job on earth. The truth is  we do much more than that, thanks God!

Anyway, I took this job because I was really desperate curious and this is how I end up in this industry, kind of by accident in 2009. And the truth is I loved it!

I worked for three years in France, and I quickly specialized on FileNet P8 and end up giving training for IBM, beside working on a few projects in my company and internal training also. Then my life changed… 2 years after I started to work, my Girlfriend and I went to Argentina for one month, she’s from there. And this trip made me realize that there is something else to see somewhere else. So one year later, on 2012, I quit my job and we started traveling for six months, Canada, United-States, Qatar, Germany. But it wasn’t enough, we still needed more. So we left for China. My Girlfriend is writing a blog about all our travels, which is a lot more pleasant to read than mine 🙂 Her writing is a lot better but she has no excuse… she’s an English/Spanish/French teacher, while I’m barely managing to use my English/Chinese, and let’s not talk about my nonexistent Slovak (I’ll come back on that later). Anyway, you should check it out, this is really nice to read (you would think my opinion is biased but it is truly really good :), here is the link www.wanderingsecrets.com).

China was awsome, she was working and I was brave enough to say this year I am going to… not work. So I went to the university to learn Chinese for a year. I loved Chinese, the best language on the planet. China was great, but again, my Girlfriend tells the story a lot more poetically than me so I’ll stop there.

Anyway, after one year in China, we were missing travel, so we spent another 3 months traveling in China, Laos and Vietnam, then we flew “home”. But actually home wasn’t really home anymore, and we didn’t want to stay there too long, so I started to look for a job, anywhere in the world. We end up in Slovakia, which is kinda weird. But I really like this country, sometime I think it is almost too similar to France, especially after China, but still, life in Bratislava is really great.

So here I am now, almost 6 years of experience in ECM (with a 2 years break, one of the best thing I did in my short life), working for IBM in Slovakia, on FileNet and IBM Content Navigator. I’d never thought I will end up in Slovakia, working for a company like IBM, but I love it, my life is great!

20 thoughts on “About Me

    1. sagar

      Hi Guiiiaume,

      I’m planing to implement request filter for /p8/logon for IBM content navigator custom plugin response filter.Can you please provide some examples of /p8/logon/request filter

      Reply
    2. Rajesh

      hi, i am new to ICN. i am looking for a simple JAVA snippet to export ICN desktop in an automated fashion (i. without using the ICN admin console). This is to build this capability and promote at scale using CI/CD.

      jaxrs or JAVA API or even sellenium snippet to automate the desktop export click won’t hurt. Ideally using JAVA API most prefereble option.

      Thanks for your help

      rajesh

      Reply
  1. Guan

    Hi,
    This is probably the 3rd comments I wrote over my past 15 years experience as QA Manager. The reason I am writing this is to personally thank you for the IBM FileNet Composite installer 5.2.1 errors handling. You saved me at least 2 weeks of deployment time and lots of headaches. All your errors handling works. I was able to install 5.2.1 onto CentOS6.4 and CentOS6.7 without any error.

    ps: When you have some down time, would you post some tutorial on how to deploy FileNet with Oacle or MSSQL?

    ps2: When you going to China, perhaps I can show you around. I go back once a year.

    Thanks
    Guan

    Reply
    1. Guillaume Post author

      Hi Guan,

      I can’t promise but yes when I have time I would try to create a simple tutorial to install a FileNet platform without CPIT, using Oracle XE. I don’t know about SQL Server because I’m not sure I have a licence for that. Meanwhile the documentation on KC is quite good for each product.

      I can’t give you a date though because I’m really busy at work right now.

      And I would love that about China, I loved it living there and can’t wait to go back 🙂

      Reply
  2. Sandeep

    Hi Guillaume,

    I was going thru your blog and the customizations you have done with Content Navigator. The way you have override the default drag and drop is just so amazing.

    I tried to do similar things by initially just overriding the Dnd behavior to open entry templates rather than default add document dialog. Somehow I could get past first hurdle itself, which is overriding the prototype in main js.

    Can you please help me what else I need to do to override default behavior without creating a new feature. I earlier understood that I need to add a new Feature derived from default one and then in the content list dnd module I need to provide my own custom created dnd module.

    Your approach is however seems very straight forward and promising. I tried to just display an alert message on drag and drop to override it, as of now, see my main js below –

    require([“dojo/_base/declare”,
    “dojo/_base/lang”,
    “ecm/widget/listView/gridModules/DndFromDesktopAddDoc”
    ],
    function(declare, lang, DndFromDesktopAddDoc ) {
    /**
    * Use this function to add any global JavaScript methods your plug-in requires.
    */
    aspect.around(DndFromDesktopAddDoc.prototype, “_canDropOnTargetItem”, lang.hitch(this,function(originalFunction){
    return function(targetItem){
    // Do some tests wit targetItem so you can forbid drop on a specific node or maybe also all its descendants
    alert(“Your are dragging and dropoing in customized way”);
    };
    }));

    });

    This plugin is however not accepted by my ICN. What I am missing here? please help

    Thanks
    Sandeep

    Reply
    1. Guillaume Post author

      Hi Sandeep,

      Sorry I might be too late, but I’ve been caught in others projects lately.

      From what I see you missed importing the aspect module. I think that’s all you were missing, except a semicolon at the end of your return but that’s not really important.

      But after 3 weeks I hope you figured this out sooner by yourself 🙂

      Reply
  3. Sandeep Singh Bais

    Hi Guillaume,

    Yes, I figured that out. So careless of me to miss that 🙂

    Also I was wondering if we can have some properties field in Entry template implemented as suggestion box. For example a property named Customer Name, which looks for existing customer names in system and provide suggestions so that user wont end up adding “Addidas” and “Adidas Inc.” as different customer names. We make folders for each customer.

    Any idea?

    Thanks
    Sandeep

    Reply
  4. Kush Arora

    Hi Guillaume,

    I was going thru your blog and the customizations you have done with ICN. Complex scenarios seems so easy after reading your blogs.

    I am trying to achieve a similar thing. What i am trying to achieve is that OOTB a red star appears when user focuses on a mandatory field on entry template, for example document title.
    I am clearing the field and one another property populated using EDS. So i do not want ICN to apply this validation for few defined fields.

    Foe this I am trying to overwrite the onChange method. addManyDocsDlg is the AddContentItemDialog object. And I am doing this after addManyDocsDlg.showUsingTemplateItem(*****)

    
    addManyDocsDlg.own(aspect.around(addManyDocsDlg.addContentItemPropertiesPane, "onChange", lang.hitch(this, function(){
      return function() {
        console.log("CUSTOM ONCHANGE");
        addManyDocsDlg.addContentItemPropertiesPane._commonProperties._propertyEditors.removeFromInvalidFields("DocumentTitle");
        // How to know which property got changed? and to remove validation on that property
      }
    })));
    

    Could you please suggest a way to make this working. Above function is getting invoked on every change of property, but problem is I am unable to get what property is being
    changed, and how can i let ICN know not to mark that red start with a message “This value is required” on change of that property?

    Eagerly waiting for your quick reply.

    Thanks,
    Kush Arora

    Reply
    1. Guillaume Post author

      Hi Kush, sorry for the delay I’ve been pretty busy lately. I’ll start with a pretty obvious (or dumb, your choice :)) question, but if you don’t want the field to be mandatory, why don’t you unset the Required checkbox in P8? Or is it a special use case where you want the property not to be required only for this entry template or this specific customization.

      Also, if the property is required in P8, the add will fail if you don’t set any value even if you force it by customizing ICN, or did I misunderstand something in what you;re trying to achieve 🙂

      Although I didn’t really get what you’re trying to do, here is a quick way to remove the required validation on fields you don’t really want to be required.

      Instead of doing this on each change, I would rather remove the field of the required fields after the rendering happens:

      
      aspect.after(AddContentItemPropertiesPane.prototype, "onCompleteRendering", function () {
        var fields = this._commonProperties._propertyEditors._fields;
        for (var i = 0; i < fields.length; i++) {
          if (["DocumentTitle", "AnotherNotReallyRequiredProp"].indexOf(fields[i].get('name')) >= 0) {
            console.log(fields[i].get('name') + " is required, but not really");
            fields[i].required = false;
          }
        }
      });
      

      This will remove the red field validation, not the small red start on the left on the name, but it will let you validate the form (click the Add button) since ICN won’t see it as required anymore. Of course that will fail with an error from P8 saying “A required property value has not been set”.

      I aspect this using prototype to do it on all instances of the class but if you implemented your own class using AddContentItemDialog, it might be better to aspect the actual instance instead of all of them. I just wanted to prove quickly it works.

      I hope that will help you since I’m just guessing what you’re trying to do.

      One last thing, to get the value of a field, you can use:

      this._commonProperties.getFieldWithName('DocumentTitle').get('value');

      If you need more reply to your own comment I’ll try to take a look soon.

      Guillaume

      Reply
  5. szcs

    Hello there,

    First of all: I really like your work it has been so much help since working with Filenet.

    Second, I have a question: have you ever managed to create a Filenet application using Filenet Java API with a SSO solution? There’s this IBM Redbook: http://www.redbooks.ibm.com/redbooks/pdfs/sg247675.pdf
    , but I’m hoping there are some simpler solutions, which might use free opensource libs or services.

    thanks in advance,

    Reply
  6. cv1

    Hi Guillaume,
    Looking for some direction on passing security token on ICN URL APIs. is it possible to use the security token received from jaxrs logon to URL API ex: URL to open the document viewer?

    Os there any other way to get and pass the token similar to user token feature in Worjplace XT.

    Trying to call the ICN viewer from an external Web application and trying to skip ICN login prompt

    Reply
    1. Guillaume Post author

      Hi,

      Sorry for the delay. I’m really busy these weeks. Here is a quick answer:

      You can reuse the cookie and token header obtained when using the logon url to make more calls to the ICN jaxrs API, I detailed this more here. Also if you just need the content of documents to show it in a website, there is a way to get the document from FileNet (if you’re using FileNet) with only the token if I remember correctly. I think that’s how the FileTracker applet works (since it’s basically reusing your authentication without prompting your for your credentials again), you can try to uncompile it to see how it works (don’t say I said that 😉 ).

      Hope that gets you started.

      Reply
      1. cv1

        Thanks Guillaume. That is very helpful. I think jaxrs/logon would help in our case. Thanks again for your time and suggestion.

        Reply
  7. RC

    Hi,

    If we create another IBM P8 “Site” does this mean:

    The site must have its own CPE?
    Can it use its own Active Directory (even if it doesnt have its own CPE)?
    Can it use its own storage devices? (even if it doesnt have its own CPE)?

    not sure if a P8 “site” means it is an independent environment/system that can just be connected together to one single implementation?

    We plan on various countries having there own sites and so all the countries can use a single p8 environment. Not sure if there is a better way to do it?

    Thanks

    Reply
  8. Matt

    Hi, this website has been really helpful for me! I have a question for you – I wrote a batch program that iterates over a filenet database. It works but single threaded processing is too slow. Can you explain how to do a multi-threaded filenet api query that goes through all the documents in a repository?

    Reply

Leave a Reply