So you have the CorasWorks Platform and are diving into creating awesome solutions for all of your users, hopefully even show off how great you are and how wonderful SharePoint can be. Maybe you are a power user and you are ready to take on a larger challenge and dive into the world of XML and XSLT. Or, perhaps, you are already an advanced builder, but you are looking to deliver some quick wins to your users. Well, I’ve been in your shoes and this blog will help guide you along your way as you come to master our tools.
Our Basic Components are very powerful and, for the most part, you can put one on a page, point it to an existing SharePoint List or Library anywhere in your farm and be up and running in minutes. If you have similar data on multiple sites – again, anywhere in your farm – you can even quickly aggregate them all together into one nice centrally located view. Once you start adding Actions through the CorasWorks Action Wizard, you are really on your way to building most any type of basic application.
While the Basic Components are very powerful, especially when combined with our Action framework, they come at a cost. As a general rule the easier something is to use, the less flexibility it will have. At some point most of us will find ourselves needing to build a solution where the basic components just won’t meet the requirements.
CAPS (and previously the Advanced Components)
Our new CorasWorks Application Service, known as CAPS, provides you with an incredible amount of power and flexibility when it comes to building more complex solutions and having control over the user interface and experience. With CAPS you can quickly and easily work with any data from across your SharePoint environment. Our legacy Advanced Components also provided a more extensible framework; the External Data Provider let you easily connect to a variety of external data sources, while the Mashup Adapter let you combine data from a variety of sources into one ready to consume output.
The data retrieved and aggregated through all of the above manners can be transformed using XSLT. With the legacy Advanced Components, you were limited to XSLT 1.0, but with CAPS you have the full power of XSLT 2.0 at your disposal, making CorasWorks the only application development platform on SharePoint with an XSLT 2.0 processor. Using XSLT or even client-side scripting consuming JSON (which CAPS also supports), creating a rich UI is easier than ever. Even the legacy Custom Display Adapter or Chart Display Adapter have vast degrees of flexibility, your only limitation often being imagination and skill.
A Place for Everything
The beautiful part about the CorasWorks platform is that you’re never completely locked into one path or the other; you can mix Basic Components, CAPS, legacy Advanced Components and even other 3rd party and custom controls. Need to build a solution with a complex multi-level nesting of hierarchal data? Make the most of CAPS and client-side technology to create a UI that loads child data on demand. Need your users be able to quickly update data and manage lookup values? Give them some Basic Grids and Actions. Want to empower those same users to setup different views of data retrieved from multiple SharePoint and non-SharePoint sources? Connect the output from CAPS (or a legacy Advanced Provider) to a Basic Grid by selecting the “Advanced View (XML Based)” option as your view type so your users can make use of Basic Grid functions they are already familiar with including grouping, sorting and conditional formatting.
There is never just one way to design and build a solution, and ultimately those decisions will be driven by factors such as time and cost as well as other considerations such as your user base. With the entirety of the CorasWorks Platform, you have the ability to approach a solution from a variety of ways. As a general rule though, think of the Basic Components as a way to quickly connect to SharePoint Lists and Libraries, empowering your users to work with that data through our Actions. CAPS, and the legacy Advanced Components before it, come into play when the underlying data becomes more complicated through joining multiple sets of data together, applying complex transformations through XSLT, and/or working with external data sources. You will also want to leverage client-side technologies with CAPS when you want to have more control over the user interface and experience.
I hope this article has been helpful as a high level review of when and how to leverage everything CorasWorks has to offer. Keep building!