CMIS with multiple repositories? - alfresco

I am working on a Java solution which integrates with CMIS repositories. Having chosen OpenCMIS as my open source library, am trying to ensure all test scenarios are covered. I have explored few of the repositories (Alfresco, Chemistry InMemory, Chemistry Fileshare, OpenKM) and none of them seem to provide multiple repositories which I feel is required to be covered as a part of my testing.
Being more specific with the code, below works well with almost all repositories.
Repository soleRepository = sessionFactory.getRepositories(parameter).get(0);
But I want to know if any repository supports (or can be configured to support) this code:
sessionFactory.getRepositories(parameter).get(1)

There are many CMIS servers supporting more than one repository. SharePoint, FileNet, SAP Mobile Documents, ...
Even the OpenCMIS FileShare server supports more than one repository if you configure it. Just add the following lines to your repository.properties file and it will expose second repository:
repository.second = {user.home}
repository.second.readwrite = test, cmisuser
repository.second.readonly = reader

Related

Does rocksdbjava api library contain the rocksdb database itself

I am very new to rockdb and will be using the rocksdb in my application as a lookup service. Does the rockDBjava library api provided contain the database itself, I mean is it not necessary to install rocksDB database separately.
I tried running the code using library and see some files created in the db path I mentioned in code, so not sure how exactly it works and if I need to install DB separately or if the library stores data in the directory and it itself acts as database?
No, you should not need to install RocksDB separately if you already have RocksJava working. They're not very clear on stating that, but if you look at the wiki in their Git repo you'll find this:
RocksJava is structured in 3 layers:
The Java classes within the org.rocksdb package which form the
RocksJava API. Java users only directly interact with this layer.
JNI code written in C++ that provides the link between the Java API
and RocksDB.
RocksDB itself written in C++ and compiled into a native library which
is used by the JNI layer.
That third point is basically their way of saying that RocksDB itself is one of the layers of RocksJava.

how to develop a custom connector in SailPoint

I am novices to the field of Identity and Access management.
Till now I know, Sail point has provided the some direct connectors to integrate the known systems like LDAP, HR systems, OIM, Databases..
And sailpoint also provided the support for disconnected applications with the use of Custom connectors.
Here, My question is how to develop a custom connector..?
I do not have jar file provided by sailpoint which contain "AbstractConnector" class.
So that I can write my own class and develop..?
I also so not understand, what to do with that class?(if i have a jar)
How sailpoint will refer to that class..
Do we need to deploy that class to somewhere...
Here I am expecting the complete flow to develop and deploy the custom connector..
If anyone is working please help..
If you unzip your identityiq.war, you'll find a JAR file called WEB-INF/lib/connector-bundle.jar. This is the JAR where you'll find AbstractConnector. Once you've written your connector code, you will need to compile it and bundle it into a JAR file, which you will place into WEB-INF/lib.
Finally, you will need to update the ConnectorRegistry object (under Configuration on the debug screen) to reference the new class, which will make it available as an Application type. If it has custom connection parameters (as most do), you will also need an xhtml page that will be embedded into the Sailpoint UI to prompt the user configuring the Application.
If you have Compass access, they have a whitepaper called Custom Connectors that you will find helpful.
All that said, I encourage you to try to find a way to use an out-of-box connector if possible.
Most of the times it will be better if you use the DelimitedFile connector, you can import a CSV of identity data, and make it work within Sailpoint's workflow. You will be able to map fields, correlate accounts and create multi-valued group memberships rapidly. Of course, this means that Sailpoint will not be connected directly to the application, and you will have to develop a workflow to extract the identities and upload them. But at least, you can integrate without going the Custom Connector way.

Migrating from FileNet P8 4.0 to Alfresco (reading MSAR surface.dat files ?)

I'm currently trying to migrate one of my customer's ECM system from FileNet to Alfresco.
Since they are using Filenet Image Services 4.0 SP4, I cannot take advantage of CMIS (only available from 4.5.x).
According to this blog in more or less similar conditions :
http://blog.tsgrp.com/2010/08/24/filenet-migration-findings/
http://blog.tsgrp.com/2010/02/09/migrating-from-filenet-to-documentum-could-openmigrate-possibly-do-that/
The best practice seems to be reading the database to find all documents (data + link to image) :
Does anyone know how to achieve that (retrieving the document from system tools) ?
Does anyone know how to read directly MSAR surface (.dat) files that already contains all information ?
I think the best practice is to use standard FileNet Image Services Resource Adapter (ISRA) if you can.
Product Documentation for FileNet Image Services Resource Adapter
For content migrations to Alfresco you can use migration-center. You can download a free evaluation copy of migration-center on http://www.migration-center.com/free-evaluation-copy/

Windows symbolic link ASP.NET app repository

We are hosting huge app for our cutomers. There are diffrent configuration and contents (images, user files). But the core code, directories structure, databse scheme is this same for every client.
I'm looking for a way to create one core code repository, so all clientes will use it. We do updates often, so this will make our live easyer.
The idea is to create the repo and In clients directories create just symbolic links to that repo direcories: bin, App_Resources, Css, SystemImages etc.
Is this a good idea? Will ASP.NET MVC app handle this correctly, or I've to add some code for it handle the 'virtual direcotories'?
I would suggest that you take a look Single-tenant and Multi-tenant applications even if you say that your code base is the same for every one.
Here is a nice Multi-Tenancy ASP.NET example
I would also suggest that you check http://appHarbour.com as you can easily push changes from your master repository to appHarbour using Git or Mercurial.
Regarding your exact question, I also keep static files in a custom scheme under Amazon S3, so each client can upload there own files, plus the ones I have and all is based on a single location that does not put more resources just to delivery static files.
You can see my live web application using this technique checking the View Source.

How to Get attachments Associated with artifacts in SourceForge Enterprise Edition

We are using SourceForge Enterprise Edition 4.4 in one of our project.
My question is, in CollabNet SFEE (SourceForge Enterprise Edition 4.4), how will we get attachments associated with an Artifacts Using SFEE SOAP API?
We have made our own .net 2.0 client. We are not using .net SDK provided by Collabnet,
If you commit with a message you can add "[artf1000]" (where artf1000 is your artifact number) to the beginning or end of your commit message. Then it will associate to that artifact you can also do this with documents using doc1000, to get the id of the item you can use the URL it is what is after the http://sfeeserver/sf/go/.
Documents and artifacts are the only item I have used this for so I am not sure about other types of links, but I would imagine anything that has a /go/ID could be referenced by the ID.
ie:
http://sfeeserver/sf/go/artf1000
http://sfeeserver/sf/go/doc1000
Edited to add:
I have seemingly successfully tried this with releases, tasks, and discussions as well.
You can cheat a little bit and have a look at the scripts from SFEE. Log into your SFEE via SSH and take a look at the following script:
/usr/local/sourceforge/sourceforge_home/integration/post-commit.py
Maybe it helps...

Resources