Video based catalog App using OutSystems

Hi,

I am trying to build a simple CMS heavy mobile app which will have a long list of video catalog where users can watch a video by clicking or selecting a video thumbnail in the application. 

What is the most scalable way to architect this solution?

How can non-technical teams can dynamically refresh the videos from the backend without any technical help?

Does OutSystems have built-in capability of a CMS? or do I need to have a separate CMS platform to achieve this?

Hi SR,

OutSystems is not a CMS system, nor has it build in CMS capabilities.

OutSystems is a low-code development platform, and with some code skills, you should be able to develop a basic CMS system in OutSystems. Then again there are also free or affordable CMS PaaS solutions available that may be a cheaper solution than creating one in OutSystems.

Regards,

Daniel

Daniël Kuhlmann wrote:

Hi SR,

OutSystems is not a CMS system, nor has it build in CMS capabilities.

OutSystems is a low-code development platform, and with some code skills, you should be able to develop a basic CMS system in OutSystems. Then again there are also free or affordable CMS PaaS solutions available that may be a cheaper solution than creating one in OutSystems.

Regards,

Daniel

Thanks a lot Daniel for this info. I have two follow up questions on this;

1. If I build the CMS on OutSystems itself, would it be a scalable solution considering there would be a high number of large media files being pushed through the systems? will there be an user experience issues?

2. If I am to have a separate CMS PaaS solutions, what are some of the best solutions that can integrate easily with OutSystems? 


HI SR Rak,

OutSystems in itself is a scalable solution so anything you build is also scalable. However, you must really think in you situation about the different components that you application consist of and what is the most appropriated location to store the actual data. 

Lets take your video's for example. Is that something that you want to store in a database or are there other storage locations that suit your needs better? I personally would never store this in any database, it's to large and if I want to support any form of streaming then storing it in the database is out of the question. 

An alternative is to store it as file, but where? On the file system of your (OutSystems) web server? But if you have multiple webservers (since you want to be able to scale) how do you manage the synchronization of the videos so all webservers have access to them on their own platform). Or are there more viable solutions available? Perhaps you can better use the storage capabilities that some cloud providers offer. And are these offerings scalable enough or do you need to some of caching or CDN in front of those videos?

Are there not already SaaS services available for streaming videos that you can leverage instead?

What I'm trying to say is that the architecture for an application you describe goes way beyond just making a mobile application. You really need to take everything in consideration and make the appropriated choices. 

OutSystems is a toolbox but not all tools are inside that box.

To answer your questions:

1. If I build the CMS on OutSystems itself, would it be a scalable solution considering there would be a high number of large media files being pushed through the systems? will there be a user experience issues?

  • To store a large number of large media files, you should not rely on OutSystems. The storage option in OutSystems is a relational database (SQL Server or Oracle) which is not suited for that. You should look to see the usability of for example Azure BLOB Storage or alike. 
  • Scalability is something you need to build in the design of your application architecture and infrastructure, OutSystems provides success documents to guide you in this process as well as training videos.
  • User experience is what a UX designer will design and a skilled OutSystems Developer, if needed with a Front End developer, should be able to implement in OutSystems. At the company where I work, we do work with a multidisciplinary team of UX/UI specialists and Front end Developers.

2. If I am to have a separate CMS PaaS solutions, what are some of the best solutions that can integrate easily with OutSystems?

  • OutSystems integration options are:
    • REST API services
    • SOAP Web Servers
    • Connecting to external databases
    • And the Forge (OutSystems application&component Store), contains many integration components to connect to services from for example AWS, Azure, etc.
  • All PaaS CMS solutions are built for customization and integration with other tools, so most likely they have a well-defined API and also some SDK's. If they have a JavasScript and .Net SDK than these can also be used to integrate with OutSystems.

Regards,

Daniel