While working in TIBCO Projects, you often come across situations where teams are working on multiple projects and there are certain common functionality that is reusable among different projects. Instead of reinventing the wheel in every project and doing duplicate things; TIBCO provides options to create design time libraries using LibraryBuilder and then share it with other project teams so that they can import design time libraries and use the same.
In this step by step tutorial, I will explain how to use TIBCO BW Library Builder to create design time libraries(.projlib) and how to import and use such libraries in other projects.
Example Scenario:
I am taking a simple scenario for this tutorial. Let’s suppose that we have a Student Schema that is a common schema and will be used across multiple projects. We will create a Schema for Student and add it to a Project Library by using LibraryBuilder resource from General Palette.
We will build the library and then will import it as a design time project library in another project and use there.
Let’s go step by step with TIBCO Project Library tutorial:
Step 1: Create a common reusable Schema
In this step, create a new XML Schema (XSD File) by using Schema element from XML Tools Palette. In the Student Schema, I am adding StudentName, StudentAge and StudentDOB as its tags as shown below:
We want this schema to be added to a Project Library so that It can be reused in other projects.
Step 2: Create Project Library Using LibraryBuilder in TIBCO
To create Project Library(.projlib), drag LibraryBuilder from the General Palette in your project. In the configuration tab, give some name to your project library. Also specify the path where you want to save your Project Libary file with .projlib extension:
Now go to Resources tab of the LibaryBuilder and add the resources. We want to add the Schema that we created in Step 1. Using binocular button, browse and select the Schema file as shown in the screenshot below:
Now build the Project Library by clicking on Build Library button (appears in the bottom). On successful build, you will get a Success message that your Project Library has been built successfully.
Now we proceed to next step in which we will import this library in a different project and will use it.
Step 3: Import Project Library (.projlib) and use it
I created a new TIBCO Designer Project and named it as ProjectLibraryImport. Go to the Project Root by clicking on the project name in the Project Panel. Go to Design Time Libraries tab and using + button, browse and import the Project Library that was created in previous step.
As you can see in below screenshot, Library has been imported in the project and Its enclosed Schema is now available in the project:
Now you can use this Schema in this project in any desired manner.
Let’s create a process and use StudentSchema in its Start activity. I created a new Process with the name StudentProcess. In the Output Editor of Start Activity, choose the StudentSchema by using the option XML Element Reference as shown in screenshot below:
Feel free to contact me if you are unclear on any point or If you need further help.
ur explanation is too good..
Hi.. in my project , when I click on browse button, I can see two projlibs, one is .projlib and another one .projlib1.
However am unable to edit any or delete any of those already available projlibs. And so I edited the designtimelibs file so that proper projlib appear in the designer.
BUt still looks like my project is referring to wrong projlib and so am unable to work further.
Can u pls provide some solution on deleting these already existing projlibs and creating a fresh projlib in designer.
Dear Shraddha,
To remove existing projlib references; go to Edit–>Preferences–>File Aliases and select the alias libraries that you want to delete. Once deleted from there; you will be able to add the project library again from the “Design Time Libraries” option in your project. Thanks
consider I have a student schema with 3 elements sid, sname, saddress. in this case I wanted to repeat sname 10 times exactly. how can I do this ?
Dear Selva,
Any element can be kept as repeating. You can have below in your schema to make sname repeatable 10 times:
Hi,
I have a scenario where I have a master Template with multiple design Time Library Builders in it, the problem I have when using it the Global Variables of all the Libraries are used and I am only using a few of them. I tried adding the property java.property.EnableGvarReduction=true to my designer file which then adds the option Export Referenced GVars Only to the Library Builder, but I am unable to check it as soon as I select it a warning comes up and it returns to un-selected state.
Thanks a lot.
Hello,
I try to build the Library with the ” TIBCO_LOC_DTL” but it generate a library that can’t be read, however when I build the library as you explained above, it is generated properly..
Do you have please any idea of what the probleme can be with trying to build the DTL with the tool TIBCO_LOC_DTL?
Thank you in advance
If I move the code from one location to other location the designer lib is gone, I have to manually have to load the library back.
Do you have a way to add Designee time Lib in designer for all project?
Hi,
I have a small question. I have around 5-6 projects which refers to a .projlib file. All the projects have been deployed in Dev environment and i have used the location of the .projlib file in the prepend path in the deployed ears.
A new addition came in and I had to make changes in the .projlib file. I have made those changes and have kept the new .projlib file in the location to which all the 5-6 projects are pointing to.
Since the .projlib file has changed, do I need to build the ears for all the 5-6 projects in order for it to include the new changes or just refering to the new .projlib file is enough.
Hi Ajmal,
Please let me know ,how to edit processes from design time libraries in the project where it is imported ?
I have done for the global variables ( setting a property to true in defaultvar file). Not sure how to do it for process.
Please help.
Thanks,
Akila
Hi Ajmal,
How to import .projlib as project and work on modifying the process part of shared library?
THanks,
Ibrahim RS
Dear Ibrahim,
When you import a .projlib, it is read only and can’t be modified but as an alternate solution, you can import it in a project and save that project (using save as) and then make required changes to that saved project and re-create the project library from that.