You are not alone. Many organizations are going through the same analysis and process. There are many possible options/variables to consider, but “should I roll-my-own custom site vs. leverage [open-source] products?” is one of the most common questions to answer today when considering a new web project. Following is a quick list of reasons you might want to consider choosing one over the other.
- Complete Flexibility: Build a relevant solution without any, or many, compromises — whatever compromises you do make will likely be based on time and money as opposed to wrestling the wisdom of someone else’s architectural choices
- Smaller Footprint: Along the same lines, only write code and maintain what is vital to your specific needs
- Why build that?: Liferay handles aspects of the implementation that you simply do not want to have to build and maintain on your own unless you have a compelling reason to do so
- authentication options – pre-built integration with LDAP and other technologies like CAS
- security – roles-based permissions model
- technology architecture (db abstraction, UI design, templating, page structure, etc.) – Liferay has already thought through flexible approach
- Learning curve: though there is a learning curve to Liferay (or any other product), it you can actually find external resources who understand Liferay, but anyone outside the organization will need time to pick up on all the nuances of your custom code/architecture
- Still Custom: We have built enterprise web applications in portal environment where one would have to dig a bit to determine a portal framework was used. You can still build custom features and drop in standards-based portlets where you need in a solution like Liferay’s. Also, remember, you have access to the source code, unlike other products on the market.
[learn_more caption="Click here to learn more"]
There are certain use cases where I generally lean to one side more than the other. In cases where Liferay’s features related to page structure, templating, collaboration, and security are useful, I tend to go in that direction. For scenarios where I know my user community and stakeholders have very specific workflow and UI needs for a web-based application where requirements are clear, I consider custom code more carefully.[/learn_more]