Tumgik
cloudcms · 5 years
Text
Can your CMS do this?
This is not going to be a list of features in Cloud CMS, that to be honest, you righfully expect in a CMS: API, versioning, workflow, Content model, Content entry forms,..
For a bit of fun, I started thinking “what really makes Cloud CMS better than your CMS” embracing my school boy mentality.
1. SaaS and/or On-Premise
Cloud CMS is avaible as a SaaS product and OnPremise. Docker containers have allowed us to distribute the Cloud CMS product easily for On-Premise/Private Cloud installation. Whilst SaaS may offer many benefits, On-Premise is still a desirable option for some companies
2. Branches
Cloud CMS stands apart from just about every other content management product on the market in that it offers a versioning model that is based around changesets. It is inspired by Git and Mercurial which are popular source-control products within the software development world. As such, Cloud CMS provides a changeset versioning system that captures every touch - every create, update or delete - that you make.
Branches can be used to create scheduled releases or simply to have branches for various content activities.
3. Deploy/Publish
Cloud CMS Deployment lets you publish content from a source Cloud CMS project branch to one or more destination Deployment Endpoints. These Deployment Endpoints may include Amazon S3 buckets, FTP servers, file system locations and Cloud CMS branches on the same cluster or running in a cluster located in another data center somewhere else in the world.
It is easy to configure a simple typical setup to manage the Content Life Cycle to publish content from an Authoring Projec to Live Project. Can even deploy out to multiple remote targets, and then have subsequent chained deployments.
4. Graphical view of content
This is interesting way to view a piece of content and relationships. It also can be very useful
Tumblr media
5. Multifactor Authentication
With Multifactor Authentication enabled for a user, that user will be required to supply a verification code in addition to their username and password. The verification code is delivered to the user's phone or mobile device via SMS, a phone call or an app.
6. Transfer service
Cloud CMS provides a universal import and export facility that lets you transfer your data in and out of Cloud CMS installations.This universal transfer service is very well suited for tasks such as:
Export/import
Migration (Bulk Upload)
Backing up of content or projects
7. Awareness Service
Awareness service allows you to see who's viewing/editing the same document with you in realtime, just like google docs.
8. Finally – we make the difference.
We care about the product, how you use it, and we are invested in your success.
0 notes
cloudcms · 6 years
Text
UI feature - Folder Navigation Tree
Cloud CMS now provides a left-hand Folder Tree in the Folders view. Although a relatively simple feature, the left-hand Folder Tree makes navigation between folders much easier and is a familiar way to view and navigate content.
The left-hand Folder tree can be enabled or disabled from the Project Settings page (set to disabled by default).
Tumblr media
After the left-hand Folder Tree is enabled, it can then be seen under Browse By Folder. If a folder contains one or more folders within it, then there is an arrow pointing towards the folder. If the arrow is clicked on then it turns to point down at the new subset of folders. This hierarchical structure of folders makes it easier to understand where you are and to jump around between locations.
Tumblr media
Any questions?
I hope this article encourages you to further explore the many features of Cloud CMS. If you have a question, or cannot find a feature you are looking for, or have a suggestion - please Contact Us. 
0 notes
cloudcms · 6 years
Text
Customizing the Cloud CMS User Interface
Cloud CMS is incredibly powerful and feature rich. This is great except that in exposing all the powerful features the UI can easily appear cluttered and difficult to use.
We recently added the ability to customize the UI to declutter, simplify, and make more familiar.
Navigation
The UI has been simplified to make navigation easier. The number of left-hand menu options has decreased because of the new “Manage Platform” and “Manage Project” sections. These two new sections have moved all of the administrative and developer links into a separate place. This has allowed for the UI navigation to become much simpler for editorial teams because the set of menu items is much smaller, making items easier to find.
Example:
Default Document View
Tumblr media
Updated Document Menu Settings
Tumblr media
Updated Document View
Tumblr media
Dashboards
A new feature of Cloud CMS are the platform and project level dashboards. Through a drag-and-drop feature, administrators and users are able to configure their tools and views. Users have the ability to customize layouts and decide the particular dashlets wanted of their home page. Administrators decide the levels of customization users are allowed to have, with their ability to lock things down as necessary on a per-project basis.
Platform Dashboard layout
Tumblr media
Any questions?
I hope this article encourages you to further explore the many features of Cloud CMS. If you have a question, or cannot find a feature you are looking for, or have a suggestion - please Contact Us.
0 notes
cloudcms · 6 years
Text
Bulk Import
Why is there a need for Bulk Import for existing content into a CMS? Content is extremely valuable and expensive to recreate. It's too valuable to lose and recreating it manually can be a daunting prospect. Your existing content is an important concern at the start of any CMS project – how to migrate content and the related costs is a very important consideration.
If there is content that does need to be imported into the CMS then you will need to have a robust repeatable automated process such that:
content can be reused
the quality of the content is maintained
and additional migration costs are not incurred.
The need for Bulk Import
One-time "bulk import", eg. Initial Content Import. Quite often you’ll have a lot of your content in a digital format at the beginning of your project, and, depending on how much there is, this content can be time consuming to enter.
"Incremental Import" scenarios. Regular updates from external systems: it would be nice if all content was ‘happily’ in one internal system and only managed in one place. Unfortunately this ideal world doesn’t always exist: typically, CMS initiatives are in phases – one project at a time, or 3rd party content, eg. external product updates. This means that at times some content is managed externally and will need to be imported or updated at regular intervals.
The Cloud CMS solution:
Cloud CMS provides a command line tool (https://www.cloudcms.com/documentation/api/content-services/bulk-import) that you can use to bulk import data into your content repository branches. This allows you to migrate existing data into Cloud CMS within a single transaction -- everything goes in or nothing goes in (transactional).
This process is intended to support one-time "bulk import" scenarios as well as "incremental load" scenarios.
The bulk import mechanism allows you to programmatically enter your pre-existing content, saving time and reducing the errors that can happen when doing repetitive content entry.
Features:
Bulk import does suggest large numbers of records to be imported. We have tested the Cloud CMS Bulk Import process with hundreds of thousands of records. It worked well and fairly quickly. If you have a large content import then please contact us to discuss or assist.
Transactional: if one record fails to import then will rollback
As long as the content in the import file has a structured format then it can be imported
Can import into related content types
Can define and create the Content Type in the import
If a content record exists in Cloud CMS, will overwrite the content record in Cloud CMS
Any questions?
I hope this article encourages you to further explore the many features of Cloud CMS. If you have a question, or cannot find a feature you are looking for, or have a suggestion - please Contact Us.
0 notes
cloudcms · 6 years
Text
Content Entry Forms Example
Cloud CMS lets you easily design and deploy forms for your web applications and content contributors. In this blog entry, we'll walk through how you can do this within the Cloud CMS user interface.
In this example, we'll create a form that allows editors to create City Guide information. Note: in the Cloud CMS Trial there is a City Guide Content definition which can be used as a starting point or as a reference for this example.
Add a Definition
Tumblr media
The Content Definitions can be found in the Cloud CMS project:
Next, we need to Create a new Definition. We begin by telling Cloud CMS what a City Guide is. This is a bit like defining a word in the dictionary. We will define a "City Guide" and tell Cloud CMS what schema it should have. The schema describes the properties, types, constraints and structure of the content.
When someone fills out the form, Cloud CMS can then capture the content and store it in a way that is searchable and reusable.
Tumblr media
Click Create Definition.
We provide a few properties for our new definition including a qname which defines a unique key (kind of like a dictionary "word") which is ours.
Now we define the schema of this definition. Cloud CMS uses JSON Schema for content modeling.
{ "title": "Guide City", "type": "object", "properties": { "title": { "type": "string", "title": "Title" }, "summary": { "type": "string", "title": "Summary" }, "body": { "type": "string", "title": "Body" }, "state": { "type": "string", "title": "State" }, "loc": { "type": "object", "title": "Location", "properties": { "latitude": { "type": "number", "title": "Latitude" }, "longitude": { "type": "number", "title": "Longitude" } } }, "highlights": { "type": "array", "items": { "type": "string" }, "title": "Highlights" }, "testimonials": { "type": "array", "items": { "type": "object", "properties": { "text": { "type": "string", "title": "Text" }, "author": { "type": "string", "title": "Author" } } }, "title": "Testimonials" } }, "_parent": "n:node", "description": "guide:cityexample", "$schema": "http://json-schema.org/draft-04/schema#" }
If happy with your edits you can now save our definition. Cloud CMS instantly compiles the definition with no server restarts and no downtime. The Contentent Definition Overview shows us that our definition is loaded up and ready to go.
Tumblr media
Add a Form
So far, we've defined what a City Guide is. That is to say, we've defined the model for a City Guide. We now want to add a form that can be used to create new City Guide content instances.
Cloud CMS lets you have many forms for a single definition. You might choose have one form for administration that shows all fields and gets down and dirty. You might have another form that simplifies things, has a simple layout and is intended for users on a web site.
Click Form List which will list all the available Forms for the Type Definition - there are none since it is a new definition. Let's create a simple form. All we have to do is click on Create Form.
Tumblr media
We now provide some configuration for our form. We can do many things here such as modify the layout, the placement of fields, plug in custom templates and configure different kinds of fields (or controls) for our field elements.
Let's use the following configuration to customize the fields for our form:
{ "title": "Guide City example", "fields": { "title": { "type": "text", "label": "Title" }, "summary": { "type": "textarea", "label": "Summary" }, "body": { "type": "ckeditor", "label": "Body", "ckeditor": { "toolbar": [ [ "Format", "Font", "FontSize" ], [ "Bold", "Italic", "Underline", "StrikeThrough", "-", "Undo", "Redo", "-", "Cut", "Copy", "Paste", "Find", "Replace", "-", "Outdent", "Indent", "-", "Print" ], "/", [ "NumberedList", "BulletedList", "-", "JustifyLeft", "JustifyCenter", "JustifyRight", "JustifyBlock" ], [ "Image", "Table", "-", "Link", "Flash", "Smiley", "TextColor", "BGColor", "Source" ] ] } }, "state": { "type": "state", "label": "State" }, "loc": { "type": "object", "label": "Location", "fields": { "latitude": { "type": "number", "label": "Latitude" }, "longitude": { "type": "number", "label": "Longitude" } } } }, "engineId": "alpaca1", "_form_key": "master" }
As you can see, each field has been given a label and a type. The type identifies which field control to use.
We now save our form. Cloud CMS automatically compiles the form and brings it online.
Create Content using our Form
Now we can create content using our form.
In left nav, click Content - a list all the content types will be displayed.
Select the content type you have just created
click Create Content
Tumblr media
Notice that Cloud CMS automatically fires validation logic for things like required files. The Cloud CMS forms engine is very configurable and provides drop downs for selectors, date pickers, custom formatters and much more.
Any questions?
I hope this article encourages you to further explore the many features of Cloud CMS. If you have a question, or cannot find a feature you are looking for, or have a suggestion - please Contact Us.
0 notes
cloudcms · 6 years
Text
Single Sign On (SSO)
Cloud CMS introduces a Single Sign-On service that will make it easy for the users to connect using their already existing business accounts.
Cloud CMS supports two Enterprise SSO features – SAML 2.0 and JWT. These are two popular SSO mechanisms that work with many commercial and open-source identity providers including Microsoft Active Directory Federation Services (ADFS), JBoss Keycloak etc.
Using SAML 2.0 and JWT, Cloud CMS can be easily integrated with your corporate security infrastructure. Users who log in using either SAML or JWT will have their accounts automatically created and synchronized within Cloud CMS. Cloud CMS will not have any password information stored since the username/password sign on happens somewhere else. Not just the custom user properties but even the groups from either the JWT payloads or SAML assertions can be mapped into Cloud CMS letting the information be synchronized.
Try this feature out yourself using SAML 2.0:
Log into Cloud CMS as a user who has Manager rights over the platform. Usually this is the administrator of the platform or someone on the DevOps/IT side.
On the left-side, select Platform Settings.
On the sub-menu, select SSO.
To enable SSO using SAML, select “SAML 2.0” from the selection list. Next step is to configure the settings like providing the URL of the Identity Provider you want to redirect to and the field mappings which lets you synchronize the user properties from the identity provider into Cloud CMS.
Tumblr media
SAML 2.0 merely describes the redirection of the browser to the identity provider, the login and the POST back to Cloud CMS of the assertion. Once Cloud CMS receives the assertion, it will sync the user and then authenticate as that user (through its own means).
Try this feature out yourself using JWT:
Go to Platform Settings > SSO.
Select JWT from the list as below
The configuration screens look like:
Tumblr media Tumblr media
Once the JWT is configured, requests coming into Cloud CMS are expected to have a header or a cookie that contains a JWT token. This token is used to identify the user and also map the user properties with Cloud CMS to have synchronization.
Provide the necessary information as above. Further, you can provide the field mappings to synchronize the user properties of JWT profile fields into Cloud CMS. While logging in again, the system will check whether the JWT token is found and is valid. It can also be redirected to a remote login. Visit the documentation for more information.
Any questions?
I hope this article encourages you to further explore the many features of Cloud CMS. If you have a question, or cannot find a feature you are looking for, or have a suggestion - please Contact Us.
0 notes
cloudcms · 6 years
Text
Cloud CMS - Image Cropping and Resizing Features
Lets face it – CMS editors just want to do their job and not spend too long in the tools.
Recently we added a feature to allow Content editors to do image cropping within the Cloud CMS User Interface rather than having to do this outside Cloud CMS and re-upload the image. This is a simple powerful feature which will save the content editor many clicks and minutes.
The image editing tool allows for:
reversing an image, and rotating an image
cropping the image
saving and reverting back to the original
Try this feature out yourself:
If you haven’t already done so register for a Cloud CMS Trial. Included in the Cloud CMS Trial there is a sample site where you can manipulate images. For example:
go to Sample Project
click Content (left Nav) – this may take a couple of seconds for the content to appear
Tumblr media
click on Dean Martin
click Editor (left Nav) 
Tumblr media
Now you can experiment with the editor features.
Further enhancements
There will be an update to the image editing tool in the coming weeks which will have the following additional functionality:
shows pixel sizes
resize image
Templates for common set of crops for commonly used sizes
Tumblr media
Any questions?
I hope this article encourages you to further explore the many features of Cloud CMS. If you have a question, or cannot find a feature you are looking for, or have a suggestion - please Contact Us.
0 notes
cloudcms · 7 years
Text
The top 3 features that differentiate Cloud CMS from the competition
You have determined you need a Content Management System (CMS) and have begun the daunting task of reducing the number of CMS products to a manageable number to evaluate in depth.
Having reached this article you are aware of, or interested in, CMSs that can be described as: Headless CMS, API First, Platform as a Service (PaaS), Decoupled CMS, Cloud-First. I am sure there are more beautiful categorizations and terminology provided by the latest analyst buzz. As much as I may not like the catagorizations, they are useful in that without them what would you search for?
But as you will have discovered, there are a number of CMS products catagorized as Headless CMS, or API First, etc. Cloud CMS is just one of many products you will find with a simple search. How to evaluate further: features, cost, trial, openness of information? It is still difficult to compare products.
At Cloud CMS we believe we have the best product as I am sure all our competitors believe in their products. To an extent we are all telling the truth and it really depends what criteria or features are important to you.
Top 3 Features that differentiate Cloud CMS
To help you evaluate further: here are the top 3 features of Cloud CMS that differentiates Cloud CMS from the competition:
1. Cloud CMS is available both On-Premise and SaaS
We are a Cloud based company embracing the SaaS model. We love the SaaS model. What has changed - in a word "Docker". Docker containers have allowed us to distribute the Cloud CMS product easily for On-Premise/Private Cloud installation. Whilst SaaS may offer many benefits, On-Premise is still a desirable option for some companies for the following reasons:
Regional restrictions: ie the content must reside in a particular region. This may be legal or a business restriction.
Internal Security. Some organization have security restrictions/policies that either don’t allow applications/content to be hosted externally or the getting through the security procedures make it quicker and easier to go for on-premise options
Control: A benefit of SaaS is that updates and bug fixes occur ‘continuously’. Usually the whole process is transparent to the customer. For some organizations and application the constant change is not acceptable. A change could introduce a change of behavior in the application which could adversely affect users. Hence, on-premise can stabilize a release and allow the customer to control the release cycle for their users.
White label / customization
MicroService: With your own on-premise installation you can scale and fine tune the Cloud CMS components. Not least, reducing network latency by hosting close to your applications and users.
2. Cloud CMS is a headless CMS with powerful ECM features
Some of the basic functions of creating and managing content that you rightfully expect to be in Content management systems are surprisingly not always there – check! Our background is in Enterprise content management systems so we have designed Cloud CMS to include these features for all our offerings:
Workflow
Versioning and audit
Branches / Workspaces
Content model
Roles / groups / teams
And many more (honestly – take a look)
3. Architecture
This is the CMS your architects would build if they had the time and resources (and were in the CMS business). Cloud CMS runs on top of MongoDB, ElasticSearch and Amazon AWS.
Tumblr media
Good luck with your CMS evaluation
I hope this article has saved you some time. Either you have found out early that you are looking for a different type of CMS, e.g., a page builder CMS, and Cloud CMS is not for you. Or, this has helped encourage your interest in Cloud CMS and you would like to find out more - please Contact Us to ask a question, request a demo or call, or start a trial.
0 notes
cloudcms · 8 years
Text
Security: Grade A
Cloud CMS comes in two flavors - on-premise and hosted. For our hosted customers, we host 100% of Cloud CMS and take care of all of the data backup, migrations, security, load balancing and... well, everything! It's the whole kit and kaboodle. It's all of the DevOps and stuff solved for you.
One of the fun aspects of this is keeping up with security requirements around SSL and HTTP Transport. Cloud CMS customers automatically gain the advantage of SSL for all of their communication with the Cloud CMS API, user interface and hosted applications. We run secure HTTPS endpoints for all of customer touchpoints and this guarantees our customers connect and communicate with Cloud CMS over a secure and safe channel. Their data is secure and cannot be tampered with over the wire.
To guarantee this, we keep our infrastructure up to date on all of the latest security recommendations with respect to SSL, including recommendations around cipher strength, certificate authorities, protocol support and key exchange algorithms. Every few months, some news hits the security realm about potential or demonstrated weaknesses in these algorithms and strategies. As weaknesses are understood, new workarounds are recommended and we implement those recommendations right away.
As such, our transport security received top marks:
Tumblr media
We're proud of the "A" that we've earned for our transport security configuration. This is excellent security. And something that we're very glad to be able to guarantee our family of customers.
0 notes
cloudcms · 8 years
Text
More Ways to Run Cloud CMS On-Premise
We just released Cloud CMS version 3.1.315 which includes more sample configurations to help customers and prospects get started with on-premise Docker deployments. Our Docker distribution includes several "kits" that contain pre-built Docker Compose configurations that help customers to get up and running right away. These configurations can either be used as is or they may serve as a reference for building out new configurations that meet a customer's exact needs.
Cloud CMS offers Docker as an option for customers who wish to run Cloud CMS on-premise on within their own data center. Customers often want to do this for security reasons - for example, they may wish to take advantage of custom volume encryption, custom port or DNS settings or transport configuration. Customers also may wish to run Cloud CMS via Docker so as to introduce custom extensions to the back end server or front-end user interface that run "in-process". In-process code can include things like custom actions, rules, workflow triggers, mimetype transformers and more.
In most cases, the trick to getting things up and running lies not so much in the configuration of Cloud CMS, but much more in the inner workings and configuration of Docker. Docker is a very powerful container technology that makes it easy to orchestrate the different tiers that compose the Cloud CMS infrastructure. Cloud CMS is inherently multi-tiered and scalable, making use of a completely decoupled architecture that is flexible for the needs of high content demand.
Docker makes it easy to orchestrate all these containers. It makes everything easy to run. We love Docker and so do our customers.
With Cloud CMS version 3.1.315, we now ship with sample Docker configurations for the following scenarios:
Quick Start
The basic quickstart kit is still offered and has been updated to utilize local, container volumes instead of named volumes. This is a good kit to run for folks who are getting started with Cloud CMS as it launches the full infrastructure on a single host. You can run the Docker host on your laptop or in Amazon EC2. Instructions are provided with the kit so that you can get going quickly (hence the name "quick start").
API Cluster
This configuration shows you how to launch Cloud CMS and cluster the API tier. Clustering the API tier allows you to scale out the request handling for your content API across many handlers and job workers. A load balancer runs ahead of the API containers, distributing requests across the cluster members. Cloud CMS maintains a distributed object cache and job queue so that runtime state is spread out evenly across the cluster. As new members join, runtime state rebalances automatically. This allows you to calibrate for performance, adjusting the number of API servers based on request throughput and job processing throughput.
OEM/Development
This configuration is provided primarily for our developer community and partners (OEM relationships, consultancy partners and integrators). It offers a sample configuration that lets you connect locally-developed Cloud CMS API and UI customizations. It is intended for scenarios where you run Cloud CMS locally and compile code changes that are then hot-linked into the running Docker infrastructure. Changes are picked up automatically so that you can connect your IDE debugger and walk through your code as it executes.
Roadmap
We have exciting plans for our Docker support in the near future. Among them is a plan to package Amazon Elastic Container Service (Amazon ECS) configuration files so that folks can work with ECS directly and independently of either Docker Machine or Docker Swarm. We would also like to provide sample configurations for Elastic Beanstalk as we've found that to be very effective. Finally, we've had requests for IBM BlueMix configurations and would like to provide a sample of that as well.
Customers have also asked for best practices around volume management (i.e. auto-mounting of EC2 volumes for persistent containers). This turns out to be an interesting area in the Docker world with all sorts of new innovations happening to address it. We will be provide sample configurations about how to do this as well.
Definitely watch this space as many exciting things are happening. If you're an existing customer or a prospective customer who is interested in trying out Docker, please contact our sales team at [email protected].
0 notes
cloudcms · 8 years
Text
The best way to enable content authoring with your JS framework
Now that you’ve built that beautiful application in Angular, Aurelia, Ember, React - or the next big JavaScript framework - how do make your content authors happy?  Easy:  Think Headless.
Tumblr media
Never let a CMS dictate your presentation tier options.  The field is too crowded and is changing too rapidly for pre-ordained “templates” to suffice.  Instead, crank out that prototype in your desired framework(s) and
utilise REST calls to query content
a simple mockup will do
returning JSON for each node
Then go back and splice in actual CMS REST calls after-the-fact.  Or better yet, checkout their SDK.
Any API first, or headless, content management system worth its salt will dovetail nicely into such a process.  You get to spin up your MVP quickly, and look like a hero when authors can revise their items with ease.
Tumblr media
0 notes
cloudcms · 8 years
Text
Content Management as a Microservice
One of the big ideas we pursued when we set out to build Cloud CMS was to design the product so that it was entirely decoupled. Our vision was to have a number of discrete tiers that would consist of either single servers or clusters of servers dedicated to a single class of problems.
For example, the Content API tier is dedicated to powering our JSON API. It does nothing else but receive requests, execute them and hand back JSON data responses. It had nothing to do with presentation or rendering of content for consumption.
On the other hand, our Application Server tier does nothing but take that JSON data and convert it into a format desired by the web site or mobile app. It might be HTML but it also might be alternative JSON, XML or binary formats.
There are several other tiers as well, including a DB tier, a Search Index tier, a tier for messaging, a tier for Job Queue management and tiers for Job executors for long running tasks like statistics map/reduce and even web page screenshot capture.
By separating things into different tiers, we created more work for ourselves initially, but we believed this would allow Cloud CMS to be more extensible and more testable from a deployment perspective. We also believed that it would enable the platform as a whole to perform better and in a more elastic fashion where individual tiers could scale out as demand grew.
For our customers, this meant consistent, steady performance on modern cloud platforms (like AWS). Pricing would not only be lower (since capacity of machines per tier would scale down with lower demand) but it would also be as close to a utility model as you could achieve (in terms of paying only for what you use).
The Arrival of Docker
What we didn’t anticipate, however, was the proliferation of container technologies circa 2013 and specifically the arrival of Docker. Docker provided Cloud CMS with a way to package up our tiers into services that could easily be deployed in all kinds of interesting configurations. It greatly reduced the heavy Dev/Ops and IT cycle involved with running a cloud infrastructure service.
With Docker, we suddenly found ourselves in a position where our customers could not only run Cloud CMS in a hosted capacity, but they could also run Cloud CMS on their own. They could run it on-premise, in their own data centers, and even on their own laptops.
Docker allowed us to express our tiers as services that could be launched into containers. Docker then allocates these containers (Docker Swarm) onto a single host or many different hosts (EC2 instances) on the fly.
Furthermore, the elastic architecture of Cloud CMS means that new containers can come online at any time and join the pack. Others can come offline at any time. It’s self-healing and largely automated.
Cloud CMS and Microservices
In bundling our tiers into container images, we realized that we had gone a long way toward packaging Cloud CMS up as a set of microservices. While “microservices” is an abstract description of “small autonomous services that work together, modeled around a business domain”, Docker turns this into a reality by providing a way to package service code and automate its testing and deployment.
This automation of testing and deployment is the critical piece. Once the descriptor files are in place to describe the deployment, Docker handles the instantiation of containers as well as the allocation of those containers onto hosts (EC2 instances). It solves for the software installation and configuration task, but it also tackles the far more complex Dev/Ops challenges of network configuration, port binding, volume mounting, log collection, fail case handling and more.
For us, this makes it easier for us to manage and deliver Cloud CMS as a Software as a Service offering. However, it also opens up a world of possibilities for our customers.
It makes it possible for our customers to drop Cloud CMS into their applications. Not as a remote API service, but as an integrated, low latency, same subnet and possibly in-process module. Their application may pull in many microservices this way, each deployed as a container, including perhaps:
Shipping API
Order Processing API
Inventory Management API
Invoicing API
If our customers need a Content Management API, they just drop in Cloud CMS and away they go.
Conclusion
At Cloud CMS, we’re seeing more customers transition to running Cloud CMS as a microservice. Docker puts the power of the cloud into the hands of the customer. The implication of this to traditional SaaS companies is very interesting.
While SaaS companies will continue for some time to provide real value in terms of hosting their offerings and handling all of the Dev/Ops tasks associated with running the underlying infrastructure (along with data migrations, upgrades and support), we expect to see customers pull more of this on-premise and handle their own infrastructure management tasks themselves.
Docker and other container technology companies make this easier and lower cost than ever before. This shift in customer preference may shift many traditional SaaS companies into offering a more conventional on-premise support model. We’ve certainly found this to be the case at Cloud CMS.
0 notes
cloudcms · 8 years
Text
Return On Investment (ROI) with Cloud CMS
ROI and Content Management Systems (CMS) are rarely used in the same sentence due to the uncomfortable pricing models from all legacy CMS vendors - as well as the spiraling costs of implementing them. Often so much investment has been made in the CMS that changing is not a realistic consideration.
This negativity only increases when you start using the term Enterprise Content Management (ECM), where suddenly vendors start seeing dollar signs, but offer no additional functionality e.g., Alfresco, Documentum, Adobe CQ5, and many more. Rather, creative “Per User” or "Per CPU" pricing makes selling to the Enterprise very attractive to vendors.
At Cloud CMS we strive to provide exceptional value with a CMS which will meet your current and future needs. The benefits of the Cloud CMS approach can be realized in many ways but occasionally you need to have a “SHOW ME THE MONEY!” conversation.
Some potential ways to realize your ROI with Cloud CMS:
Freedom
We adhere to an API First, or “headless” approach to content management. This means all content and CMS functionality is available via our 1,300+ APIs. Every UI, including our packaged console, uses these APIs. Create and manage content thru our console, and call the APIs to access any content on your frontend applications. This provides greater freedom rather than being limited to a CMS vendor’s templating options.
Future Proofing
Reuse: Through the separation of the CMS and the presentation layer you can create amazing websites and application with the frontend technology of your choice. Whenever you need to refresh or redesign the presentation layer, the CMS and content can be reused in-place. Minimizing the changes and maximizing reuse is huge benefit to any project from the technical, marketing, and business perspectives.
Multi-channel/Device: three possibilities for cost savings:
One CMS, creating content which can be deployed anywhere as needed
What are your future device and application requirements? What devices are coming up in the next 6 months+? The frontend costs are maybe unknown but you can limit the risk and costs by using a CMS that provide the Content via APIs. No change to the CMS
Reduce Time To Market: having the content available in a Headless CMS allows for an organisation to respond to changes and the requirements for new devices and channels.
Software as a Service
SaaS CMS services can convert expensive capital outlay for servers and network equipment into a monthly operating expense, while also reducing the IT resources required to manage enterprise records. http://en.wikipedia.org/wiki/Enterprise_content_management
Scalable: Cloud CMS scales seamlessly to meet your needs. Again, no upfront costs.
Always on latest version: Cloud CMS continues to grow with new and enhanced features, performance, bug resolution. No need to wait and plan large upgrade projects.
Feature rich
Cloud CMS is a lot more than a well architected repository and API. Jeff Potts summarized this nicely in his blog Content-as-a-Service Review: Cloud CMS: “..Cloud CMS is an extensible platform with a long list of features. This is more than just a place to stick content and an API to get it back out–this is a full-featured CMS that happens to be running as SaaS in the cloud. ..”
Flexibility - Fits with your infrastructure
Application development and delivery teams at publishing organizations, media companies, and branded manufacturers already use API First CMS tools alongside multiple other sets of API-first micro-services to build out new digital products.
Flexible Deployment Options (https://www.cloudcms.com/developers.html ): whether SaaS or On-Premise, direct API, custom Application server, or using our NodeJS module.
At Cloud CMS we have a straight forward honest approach. We care about what we do and how we do it. We are essentially engineers that want to create the “right” solutions and see our customers get value from their CMS. Needless to say we are proud of what we deliver.
If you have any questions or comments please email [email protected]
0 notes
cloudcms · 8 years
Text
Introducing the Cloud CMS Open Source App Server
Cloud CMS lets you create content once and reuse it everywhere - across all of your devices, web sites, mobile applications, tradeshow kiosks, digital signage surfaces and more. Our editorial environment is fully featured, extensible easy to use, letting you manage content and deliver it via our enterprise-class Content API.
With Cloud CMS, customers are free to build apps on top of best-of-breed open-source frameworks while leveraging open-standards. They are empowered to continue to use the development platforms they choose - whether that’s .NET, Java, Node.js, PHP or anything else.
In other words, Cloud CMS plays well with others.
Introducing the Cloud CMS Application Server
There is another reason why companies choose Cloud CMS. It is because we offer an open-source, Node.js Application Server for three-tier architectures.
Tumblr media
When customers ask us what architecture we recommend, we invariably recommend a three-tier architecture. It involves a middle tier (known as an Application Server) that provides application-specific services for your mobile or web application. It’s not only more secure but it’s also possible to optimize the request chain to make your apps snappy and responsive.
Why? Well, suppose you had a mobile app that connected to an API in the cloud. Suppose it had to make 10 different API calls to collect the information it needed to draw the page. Can you imagine trying to do that over a 4G connection with a low battery? It’s a good way to kill a phone - but not a good way to build responsive applications that your customers will love.
It also opens up a security liability. Any security credentials you need to connect to the API will have to be on the phone. Which means they can be found and discovered. It’s harder to do within native applications, true, but it’s actually quite easy to do with HTML5/JS applications.
Which is why generally recommend not to do it. Instead, we suggest using a middle tier Application Server.
The Cloud CMS Application Server is an optional Node.js/Express-based server that provides presentation services for your sites and applications. This includes:
Optimized HTTP headers and performance caching
CDN integration and invalidation
Web Content Management
Dust.js Templates with Template compilation and page caching
User Authentication and Registration
Static Asset Caching
Instant Preview and Scheduled Publishing
And much, much more!
Open Source Ecosystem of Plugins
The Cloud CMS Application Server has become quite popular. Much of this popularity is due to its reliance open-source and a worldwide community of open-source developers. The product is designed to snap in very naturally with Node.js and Express.
The Node.js developer community is worldwide and expansive. For our customers, this means that there is an available and lower-cost pool of development talent at their disposal.
It also means that there is an active eco-system of modules, plugins and open-source tools available. These assets represent a worldwide convergence of thought on best practices in web design, architecture and coding.
Best of all - it’s all open-source.
It continues our tradition at Cloud CMS of building and supporting open-source libraries. It began 5 years ago with the leading Alpaca Forms Engine and has continued with all of our drivers, SDKs, documentation samples and more. We put everything under the permissive Apache 2.0 license so that there are no strings attached.
The Cloud CMS Application Server is the latest to join this family. It is now available under the Apache 2.0 license just like its sibling products. It is available today for you to use in building awesome Cloud CMS applications.
Getting Started
The conventional way to get started with the Cloud CMS Application Server is to install into your Node application, like this:
npm install cloudcms-server --save
This will add the dependency to your package.json file. You can then start up the server within your app.js file like this:
var server = require(“cloudcms-server”); server.start();
This is a no-configuration startup. Nothing fancy. It will begin serving back content from the ./public directory - HTML, CSS, anything that you have. Basically, like a really simple web server!
Connecting to Cloud CMS
To connect your Application Server to Cloud CMS, grab a copy of your application’s gitana.json file and drop it in next to your app.js. Restart the Node process. The file will be picked up and your Application Server is now ready to communicate with Cloud CMS.
Let’s add a custom API method that retrieves a list of products. Imagine you have a Cloud CMS project with a custom content type called my:product. You can register a controller method like this:
server.routes(function(app, done) { app.use("/products", function(req, res, next) { req.branch(function(err, branch) { branch.queryNodes({ "_type": "my:product" }).then(function() { res.json(this); }); }); }); done(); });
Restart your Node process and then open a browser to:
http://localhost:2999/products
And you’ll see your JSON come back!
Images, Video and Static Assets
The Cloud CMS Application Server is all wired up to pull down static assets including video and images from the Cloud CMS API.
Let’s say you have a content node in Cloud CMS with a binary attachment on it. You’d like to show it inside of your web site. No problem. Use the following path:
/static/node/<nodeid>/<attachmentid>/<filename>
The binary is pulled back from the Cloud CMS API and cached locally on the Application Server. The next request for the asset will serve from the Application Server itself instead of going back to the API.
Furthermore, if you’re running in production mode, the asset’s headers will be set so that the Application Server can act as the Origin Server in your CDN architecture. This allows the asset to cache on the CDN, removing the need to even go back to the Application Server at request time.
Configuring Features
The Application Server comes with a slew of really interesting features that you can configure by customizing the call to your start() method. These features are implemented as middleware that run in the request chain depending on whether they’re enabled and depending on how they’re configured.
Let’s say you wanted to hook up automatic cache invalidation. When content is updated in your editorial environment, you want to have the Application Server hear those changes and invalidate cache.
It’s easy! Cloud CMS lets you define an Amazon SNS/SQS topic and queue to which content lifecycle notification events are sent. You then tell the Application Server to listen for those events and act on them:
server.start({ "notifications": { "provider": "sqs", "config": { ...sqs configuration... } } });
For the exact syntax of each configuration block, check out our formal documentation:
https://www.cloudcms.com/documentation/application-server.html
Getting your Hands Dirty
To work with the Cloud CMS Application Server, clone the following GitHub repository:
https://github.com/gitana/cloudcms-application-server
Inside, you will find two ways to get started:
Run Node.js standalone
Build a Docker image using the official Dockerfile
The /standalone directory contains everything you need to configure and launch the Cloud CMS Application Server in standalone mode. The /docker directory provides the official Dockerfile for use in building your own custom Docker images
Each of these approaches utilizes the “cloudcms-server” Node.js module. You can learn more about this module here:
https://github.com/gitana/cloudcms-server
Running on Docker
The provided Dockerfile makes it very easy to build custom Application Server containers with all of your custom code. The code is layered on top of the official Fedora image that provides a foundation for your application.
By building in this way, you’ll find it very easy to deploy your resulting Docker image to Amazon EC2, Rackspace and other popular cloud providers. You’ll also gain the advantage of having a common image that all of your developers can work with, whether on their laptops or in a development/staging environment.
The Dockerfile pulls down the base Fedora image from Docker Hub. Please be sure to read through the README file provided in the GitHub project as it provides sample commands and guidance on using both approaches.
Go Forth and Build Great Apps!
When we started Cloud CMS over five years ago, we had a vision for an API-first, JSON-oriented content platform that spans your entire business.
Today, the Cloud CMS Application Server takes us a step closer to that vision by letting our customers further lower the amount of time and cost needed to develop and deploy amazing applications.
If you’re interested in learning more about Cloud CMS, we invite you to sign up for a free trial account.
0 notes
cloudcms · 8 years
Text
Build your prototype website in 10 easy steps
Getting started with Cloud CMS for a website takes minimal setup:
Fork a copy of https://github.com/gitana/sdk
Note the URL of your repo; you’ll need this later...
Login to your tenant or signup for a trial of Cloud CMS
When prompted upon login
create a Web Content Management starter project
From the resulting Project Dashboard
navigate to “Applications” in Manage Project 
Select “Sample Web Application” > Deployments
Tick the radio button on the right
Navigate to Selected > Undeploy (upper right)
Select “Source”
Set “URL of Repository” to your forked version (from Step #1)
Keep Base Path set to /sample-website
“Update” to save new settings
Select “Deployments” again
Tick the radio button on the right
Navigate to Selected > Deploy (upper right)
Click on one of the URLs listed to view your site
Choose either the Product Catalog or City Guide sample
Review, reverse engineer, and otherwise hack away at the
Type Definitions and instances; add you own items
Using the left nav toolbar
Select Content > Content Products > Create Content (for example)
Dust templates, under /sample-website/public/templates
Easily implemented with our query helper
Done with standard DustJS syntax
It’s a great end-to-end reference site, showing all key components of Cloud CMS in action.  For other framework examples or questions, just give us a shout!
Tumblr media
0 notes
cloudcms · 8 years
Text
Finding sanity by losing your head
There was a lot of chatter last year regarding a “headless” or “decoupled” CMS design.  Zeitgeist, maybe… countermovement, definitely.
Since their inception, every expansion of content management software along the continuum from managing basic websites to full-on digital experiences drove CMSes further and further into the application’s presentation tier.
In parallel, we witnessed the maturity of frameworks such as Angular, Ember, and Ionic (just to name a few) - all pushing development out to the browser tier itself, and each one clashing with the template-driven approach ordained by any underlying CMS.
As a result, it’s become fashionable to lose one’s head.
Monolithic CMS vendors are now re-engineering their approach.  Varying levels of RESTful calls are surfacing to placate the JavaScript hungry masses.  Naturally, this journey carries risks - enough that companies keen to succeed are exploring alternatives.
And finding that an API-first solution makes for a more natural fit.
By definition, API-first is headless.  Nothing needs to be “decoupled”, but rather a pure CMS service is made available that blends naturally with your selected framework, whether for a:
Static site
JS Application
Single-page app
Mobile app
or a combination of the above.  Need proof, easy.  Just review our SDK packages, or better yet - sign up for a Free Trial.
0 notes
cloudcms · 9 years
Text
Comparison: Cloud CMS vs Prismic
Not sure which CMS is a better fit? Review these points to help guide your selection.
Criteria
Cloud CMS
Prismic
Ease of Use
Implements a role-based UI to accommodate various functions.
Complex user interface for defining content types and instances. Item creation must occur here. See API Access.
Update Strategy
Documents are published individually, or as part of larger change sets.
Documents are published individually, or as part of larger change sets.
Workflow Process
Flexible workflow capability.
Allows teams and roles to be created along with a workflow designer for defining content production process and constraints.
Limited workflow, provides a writer and publisher role but incomplete support for content production process.
API Access
Fully bidirectional, “API first” design
Read-only, “API first” design. NO WRITE capability.
Deployment Options
SaaS and / or On-Premise
(Docker images)
SaaS only
Security for Assets
Allows assets to be delivered via either CDN or Web API – with full security available.
Allows assets to be delivered via either CDN or Web API.
Pricing Factors
Based solely on your desired SLA
Pre-defined tiers with a fixed number of
Users
Features (roles, workflow)
API uptime
0 notes