Bonita utility with alfresco - alfresco

I'm new to Bonita and Alfresco and I want to know the relation between these two plateforms (why I need Bonita while using alfresco)

Bonita is an open source BPM platform, and is not a part of Alfresco in any way.
If you want BPM capabilities you could use it, but have a look at Activiti first (BPM platform which is bundled with Alfresco) to determine if you really need it.
You could also check out Flowable (done by former Activiti guys), Camunda (which started as an earlier Activiti) fork and JBPM.

Alfresco is a Open source Enterprise Content Management System, developed using JAVA technology for Microsoft Windows and UNIX like operating system. It allows managing different type of content like simple office documents, images, photographs, engineering drawings and even large audio/video files.
Document management: Can store and track all type of documents.
Web content management: Allow users with little knowledge of web programming languages or markup languages to create and manage website content with relative ease
Image management: Can capture, store and reprint images.
Workflow: In Alfresco a workflow is a sequence of connected tasks applied to a document or other item of content. Each task can be performed by a person, a group, or automatically. There are a number of tools you get to design, execute, and monitor your workflows.
Content repository: The content repository is comparable to a database, except that it holds more than data. The binary streams of content are stored in the repository and the associated full-text indexes are maintained by the Lucene indexes.
You can found more description of BONITA using this link http://documentation.bonitasoft.com/6.x-7.2/bonita-bpm-overview
you can find tutorial on github for Bonita-connector-alfresco
https://github.com/bonitasoft/bonita-connector-alfresco

Related

Create Connetor CMIS BonitaSoft

I'm working with BonitaSoft Community version 7.6.3 and I want to create a CMIS connector to list the folders and documents for version 5.2 of Alfresco. I noticed that for this version of Bonita many connectors that existed in version 5.9.1 disappeared. When I asked the question how could I list Alfresco's folders and documents indicated that I would have to create a connector, however when reading the documentation for UI Designer forms it is not possible and that the solution would be REST API extension. When I analyze information about how to create REST API extensions it only gives Performance, Efficiency and Teamwork. How can I get around this?
The REST API extension documentation page has been updated and now cover the community edition as well.
Note that connector are used when you need to interact between Bonita process execution and an external system. Execution of connectors happen on the Bonita server. When executed, a connector has access to a context that includes information about the current process definition, instance and task instance.
REST API extension are usually call from the user web browser. More precisely it is the forms or pages served by Bonita that will execute the REST API call. REST API is executed on the Bonita server but has no context information about the currently running process or task. If you need such information you need to provide them as part of the REST API extension.

Can Alfresco function as an archives management system?

I am trying to figure out what is the exact difference between a document management system and archives management system? For example, what is the difference between Alfresco and Archivesspace (http://www.archivesspace.org/)?
Can Alfresco function as an archives management tool? What is the difference between the two? I read there is a record management module in Alfresco, is this what is meant by archives management?
Can Alfresco be used as an Archives Management System? Yes, of course. One real world example of this is the New York Philharmonic. They digitized their musical scores and associated artifacts going back to 1842 and then made them available online for researchers. Here is a video about it.
At its heart, Alfresco is a repository that allows you to capture any type of file, secure those files, route those files through workflows, search across the files, and associate metadata with each file. What I've just described are what most people would consider the basic set of functionality present in any worthwhile document management system.
Now, what makes that specific to archival purposes? I'm not an archivist. That's a highly-specialized field. One thing that is missing from my list of functionality above is "capture" or how the artifacts you are archiving will get into the system. This depends on exactly what it is you are archiving. One might use document scanners or high-end photography equipment, for example. None of that is addressed by Alfresco. You'll have to use third-party hardware and software and then integrate it, although many integrations exist between Alfresco and third-party capture vendors.
So I would say, yes, Alfresco can be used for archives management. But perhaps more importantly than considering whether or not a piece of software can be given a label, you should be thinking about how your users will use the software and what it is they need to get done. Then focus on how each of the packages you are evaluating can be used to achieve those goals to try to figure out whether or not each package will be a fit.
The difference is that ArchivesSpace is an 'archives information management system', whereas Alfresco is a full 'content management system', which means that it can manage any type of content.
What ArchivesSpace is:
ArchivesSpace Version 1.0 was completed in August 2013. It includes basic functionality for accessioning, processing, description, digital object description, and authority control workflows for archival material, as well as for searching descriptions and exporting metadata objects such as EAD, MARCXML, MODS, Dublin Core, METS, and CSV.
http://www.archivesspace.org/developmentplan
As for Alfresco:
The Alfresco One platform allows organizations to fully manage any type of content from simple office documents to scanned images, photographs, engineering drawings and even large video files.
http://www.alfresco.com/products/one/aws?utm_expid=11184972-12.IcCW-3j6RMavigPGfjODyw.1&utm_referrer=http%3A%2F%2Fwww.alfresco.com%2F
What the difference ultimately comes down to is not what it can store but what functionality you get in addition. ArchivesSpace seems to be a simple implementation of a document storage system that stores documents in collections with associated metadata. Alfresco also offers workflows, custom actions, previews, sites, wikis etc.
If your specific use case is related to archiving off documents specifically and you want something that will already be good at this then go ahead and use ArchivesSpace, if not, or if you want to expand the system out in future, then Alfresco will likely be able to do more but will likely take more effort to configure to your specific use case as you will have to create a custom content model and such.
Alfresco Records Management is for managing documents that will likely have some legal significance, such as court papers, official government department responses etc, and as such their creation and destruction need to be closely managed. As far as I can see this is not something ArchivesSpace can do.
(Full disclosure: I work for an Alfresco partner)

Localization Information (Globalization)

As at 2013 what is the best practice for multi language multi culture localization of web pages.
Should I store all the translations in a database? for language etc?
Should I build resx files based on a database query or should I simply create resx files?
The application will be used with a browser interface across multiple devices and platforms e.g. Windows/IOS/Android. Are there any additional things I should think about.
best regards
Shrekito
There are a few types of global content you will usually have to deal with:
Application templates such as HTML pages, menus, and emails sent by your app
Dynamic content stored in your database
App templates
Templates are typically handled using your own framework's internationalization (i18n) framework. In the case of asp.net, the framework includes libraries to mark strings and export them to (English) .resx files. This supports a lot of built-in features such as variables, plurals, and developer comments. So unless you're facing some actual blockers, you typically want to go with it instead of building your own i18n framework (eg. in-database, or in-DB with .resx export).
Nowadays, the workflow decisions come when you actually want to get those files localized. In the old days you'd exchange the files with an agency using email. In 2013, web apps have a fast-paced development cycle with multiple releases per week (or per day), so there is a much bigger need for automation. Teams are switching away from using a VCS, FTP or Dropbox as a temporary storage for their files to modern localization (L10n) management platforms like Transifex (discl: I'm the founder) to manage their localization process.
The best way to remove the L10n pain from developers is to integrate your L10n platform with your build tools, so whenever you commit something, the English files are sent automatically to the L10n system, which will detect the changes and notify the right translators. When you're ready to deploy, your integration will pull the fresh translated files automatically.
With Transifex, you can use the Tx Client app with a git-commit hook, your build/CI system or your ol' good deploy script:
tx push --source
tx pull -l de,fr,it --mode=reviewed --minimum-perc=90
Dynamic and External content
This type of content is typically not handled using .resx files since it's easier to manage it in your DB itself. Typically, you want to store this content along with your template content so that translators have a single place to look at everything.
The platform you choose will need to have a modern API to work with. Check out the Transifex API on how these look like.
Other tips and tricks
Choose a platform which has a strong built-in web-based translation editor. Translators need solid features such as Translation Memory, Glossary, Machine Translation to deliver quality and consistent translations.
Follow good i18n practices such as good date formatting and avoiding concatenation.
Love your translators. They're the ones who make it all happen.

Choose between Alfresco and Activiti for workflow solutions?

We are going to build custom workflow solution to our clients and most of the time we need to integrate it to their existing system predominately using Microsoft technologies e.g. Exchange Server and SharePoint.
Clients are expecting use workflow to computerize tasks from HR processes, product inventory management. They may or may not have their own CRM but some of them may already using Sharepoint for some processes and they are willing to move away if we can offer a more robust, flexible and economical solution.
I found Alfresco and Activiti very promising but not sure which should I adopt. From my research Alfresco is a full blown CRM with Cloud and workflow (using Activiti as engine) whereas Activiti is the engine on its own.
How should I judge when to go for Alfresco and likewise for Activiti?
TIA
Alfresco is, first and foremost, a repository. If you need a place to store files (either end-users storing files or applications storing files) you should consider using Alfresco as your repository for those files.
As you point out, Alfresco has embedded the Activiti workflow engine. This includes an abstracted service layer that wraps the engine so that, for many operations, when working with Java or server-side JavaScript, you don't need to know much about Activiti. (Obviously you do need to know how to define BPMN 2.0 process definitions to create the workflow).
So if you need to store files and you need to route those files in a business process, Alfresco's embedded workflow engine makes it very easy to do that.
If your primary use case is more general than that (ie, you don't always need to route files in a business process) then you may want to consider a standalone workflow engine. Alfresco can still participate in those workflows, of course, but if your primary use case isn't about files, why go to the trouble of setting up and maintaining a document repository?
In the end, there is no hard and fast rule here. The beauty is that both Alfresco and Activiti are open source. You can try them out, dig into the details, and decide for yourself what is the best fit.

Document Stored in File System Text Searching and Filtering required in ASP .Net Application

We are building a jobsite application in which we will store resumes of all the candidates, which is planned to store on file system.
Now We need to search inside that file and provide the result to the user, we need to provide that what is the best solution to implement text searching.
I have just tried to identify it and got some reference like IFilter (API or interface) and Lucene.Net (open source), but not sure that is it a right solution.
In initial phase it is expected to be around 50,000 resumes and it should be scalable enough if number increases.
I just want some case study or some analysis or your suggestions that which is the best method to handle this requirement (Technology ASP .Net)
Thanks
You can use Microsoft Search Server. There is a free version, so you can try it before buy it (or never buy, if it meets your requirements).
If, later, you do want to integrate that documents into a Sharepoint portal, Enterprise Search can also integrate with it.
One possibility would be to use the FILESTREAM feature in SQL Server 2008, combined with database-level full text index / search.
That would allow you to keep the files in the filesystem, while also providing transactional integrity and search.
SQL Express supports FILESTREAM, and the 4GB size limit doesn't apply for the files (although it does apply to the size of a full text index).
This might be naive since I'm unfamiliar with off-the-shelf search products but if nothing pre-build fit the bill I would build a simple service that crawls and indexes (or several instances to crawl different directories to increase speed) and updates a database. If the files were accessed regularly you could build a layer of isolation to prevent collisions.
Rodney

Resources