Selecting a Content Management System that supports your Business

Recently, one of the customer asked for a Content Management System (CMS), and being a SharePoint developer and consultant, I proposed SharePoint Server as CMS. Afterwards, by analysing different CMS in the market, I thought of writing this article and will focus mainly on a CMS named – “Sitefinity” (http://www.sitefinity.com/).

Why Invest in a CMS?

Before deciding to buy a Content Management System (CMS), you want to get a clear idea of how a new platform will support your business goals. What kind of technology do you need to look for? Moreover, is it possible to predict what will work and what will not in a year?

What to look for

The key parameters that I think should be taken into consideration when choosing a CMS are-

  1. Managing experiences
  2. Extensibility and integration with key business systems
  3. Costs and pricing models
  4. Multi-device strategies
  5. Content creation and multi-channel publishing
  6. Governance and reporting tools

Managing experiences

Questions to consider:-

  1. What does my customer journey look like and where are the digital touchpoints?
  2. How does the CMS support personalization?
  3. How does the CMS support content through multiple channels?
  4. How does the CMS allow me to track and report user behaviour?
  5. How will the CMS become an asset in my overall customer experience management?

Extensibility and integration with key business systems

Questions to consider:-

  1. Is the CMS designed to integrate out of the box?
  2. Is it possible to integrate user data with analytics from other platforms?
  3. How often will I need to update and integrate with new applications?
  4. How often will I need to update functionalities?
  5. Which business systems do I need to integrate with?
  6. How many of my required functionalities are standard in the CMS?
  7. Will I have the support of in-house developers or will I need to buy outside help when integrating or developing? 

Costs and pricing models

Questions to consider:-

  1. What is the total cost of ownership, including licences, support, development, hosting?
  2. Does the license scale with additional servers without adding extra cost?
  3. What is the cost of upgrades and if applicable new modules?
  4. What will it cost you to maintain and support your mobile endeavours.
  5. What kind of licensing model will fit your organization


Multi-device strategies

While deciding for multiple devices, the first and foremost should be always mobile and tablets. Start with implementing the mobile touchpoints where you gain the most. When looking at a new enterprise CMS, look at how it can support customer experience management with respect to mobile. You want to look at whether the backend allows you to track, assess, develop, test and preview on multiple devices.

Content creation and multi-channel publishing

Questions to consider:-

  1. How user-friendly is the dashboard?
  2. How easy is it to create new content?
  3. Can you manage the customer journey?
  4. How easily can the content be reused and published in multiple channels? 

Governance and reporting tools

Questions to consider:-

  1. How user-friendly is the dashboard?
  2. How seamless is the back-end user experience?
  3. Can you set up user administration that fits your organization?
  4. What kind of workflows can you set up?
  5. Is the CMS born with quality management and reporting tools, or does it integrate easily with third party tools?

Summary: I would suggest the following steps, which needs to be followed before buying a CMS:-

  1. Define goals and strategies
  2. Define your business case
  3. Know your data or content
  4. Talk to your users
  5. Organisation and governance
  6. Resources
  7. Requirements

 About Sitefinity

Sitefinity is a Web Content Management System (Licensed, free for a limited time) of the company Telerik. It is much like SharePoint Server and having almost all the features required for a content management system.

Below are some of the important links for Sitefinity:-

  1. Sitefinity Support – http://www.telerik.com/support/sitefinity
  2. Sitefinity System Requirements – http://www.sitefinity.com/resources/system-requirements

If you will download the free trial, you will be given a Project Manager called “Sitefinity CMS Project Manager” in which you can create multiple projects or applications.

 

In addition, for custom development, Sitefinity provides an addin called “Sitefinity Thunder” which will be added in Visual Studio:-

 

Google Spreadsheet – How to put indent to a spreadsheet cell

Today I was working in Google spreadsheet (Google Sheet) for preparing effort estimation for one of the project. Then I realized the need of indentation to move the text of one of the cell to right (to visually show grouping), however I struggle with this for so long but didn’t found any option. After more of exploration on Internet, found a very interesting solution and thought of sharing the same in this blog.

The best solution is to write a script.

To do this open up the spreadsheet and select menu item “Tools” –> “Script Editor”
Once the script editor opens copy and paste the following code into the “Code.gs” window:

var ss = SpreadsheetApp.getActiveSpreadsheet();

function indentText() {
  var values = ss.getActiveRange().getValues();
  var newValues = new Array();
 
  for (i = 0; i < values.length; i++) {
    if (values[i][0] != ”) {
      newValues.push([‘=CONCAT(REPT( CHAR( 160 ), 5),”‘ + values[i][0] + ‘”)’]);
    } else {
      newValues.push([”]);  
    }
  }  
  ss.getActiveRange().setValues(newValues);  
};function onOpen() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var entries = [{
    name : “Indent Text”,
    functionName : “indentText”
  }];
  sheet.addMenu(“Indent Text”, entries);
};

Go to menu “File” –> “Save”

Return to your spreadsheet and reload the browser.  You should now see a new menu item called “Indent Text” to the right of the “Help” menu.

What this code does is add a menu to the spreadsheet document called “Indent Text”.
Within this menu it will create a menu item called “Indent Text”.
When the “indent Text” menu item is selected any cells within a single column selection will be indented by 5 spaces.

You can increase or decrease the number of spaces the text is indented by changing the line below so that the “5” is changed to a larger or smaller number (depending on your preference)

newValues.push([‘=CONCAT(REPT( CHAR( 160 ), 5),”‘ + values[i][0] + ‘”)’]);

Hope people find this useful. 🙂

Top 10 Websites To Learn Coding Online

Below is the information about 10 websites that can teach you programming languages like HTML, CSS, PHP, Ruby and even iOS. Pick up tips, screen-casts and even best practices from industry professionals.

Codecademy
Codecademy is indisputably the most famous website to teach you to code interactively, thanks to its helpful interface and well-structured courses. Upon visiting the main page, you can already start tasting the programming right away, with its motivating on-screen console. Pick a course that Codecademy offers from Web Fundamentals, PHP, JavaScript, jQuery, Python, Ruby and APIs.
Inside each lesson is a panel that explains necessary code and instruction. Another panel allows you to get your hands dirty by writing acceptable code, then checking if you are doing the right thing. Don’t worry about making mistakes, as both instruction and code panels will warn you of errors, and provide hints. It is as if there’s a kind teacher right beside you.
Code Avengers
Code Avengers is designed to make you love programming. Though it only offers HTML5, CSS3 and JavaScript course for now, each of the courses is carefully designed to truly entertain you while leveling your programming skills painlessly. At the end of each lesson you also get to play a mini game to release your cumulated stress, and keep you going for longer.
Code Avengers has a gradual approach to interactive learning. It does not explain too much knowledge that isn’t essential for beginners, just a bit of code and playful instruction, making things very easy to digest. You also get to play with the code, then see the impact of the changes immediately. It is carefully crafted with the beginner’s comfort in mind.
Code School
After you finished courses in Codecademy or Code Avengers, and you are ready to further expand your capabilities, Code School is the next quality website you should land on. Unlike most interactive learning sites, Code School offers more in-depth courses to train and turn you into an expert with the industry’s best practices.
Overall, the courses are categorized into 4 main paths, and they are
1.Ruby
2.JavaScript
3.HTML/CSS
4.iOS
Almost all courses are aggressively polished with impressive design and informative screencasts, though the challenges after the screencast might bit a bit hard for amateurs. Luckily, there are hints and answers to refer to. While most of the offered courses are free, certain ones will require you to spend $25/month to access the entire course including all screencasts and challenges, and also all other courses in Code School.
Treehouse
Treehouse courses are more project-oriented than language-oriented, so they are perfect for novice programmer with a planned purpose, such as building a website, or an application. For example, the Websites course is all about building a responsive website, interactive website or even WordPress theme – a very practical and efficient way to master related languages. Nonetheless, they have released a plethora of foundation courses with a video-then-quiz approach.
For Treehouse, every course is divided into different stages or modules, and beyond every first stage the learner will be invited to pay a monthly subscription fee of $25 to access all courses with 650+ videos, and an exclusive Treehouse Members Forum as a bonus. If you are serious about your programming future, you could subscribe the $49 monthly plan to obtain in-depth interviews with leading industry pros and cutting-edge workshops.
LearnStreet
If you are that kind of personnel who do not fancy playful design and prefer to deal with cold hard codes, LearnStreet is probably your thing. It currently offers JavaScript, Python and Ruby courses at beginner level. With a click on the ‘Start Course’ button you will start the lesson with an exercise, a code interpreter and a glossary panel (for new programming terms).
LearnStreet adopts command prompt-styled code interpreters with human language to explain function and encourage you whenever possible, the kind of command prompt you want for your own local machine. However, the code interpreter could be as rude as standard command prompt, as most of the times it requires you to type in the absolute same code and content it asks for.
Other than that, it’s truly friendly and enjoyable, and most importantly, free.
Udacity
Udacity is the unification of insightful video lectures and improved quizzes to achieve the interactive feel for students, so it’s ideal for those who don’t like to read but rather get explanations from industry professionals such as Google employees.
You will be given a screencast from pros discussing the topics and instructions, then you will take either logic or programming quizzes to strengthen your understanding or forge it into a skill. The good thing about Udacity is it provides more videos than any other site, and the instructors are either real-life professors or industry veterans.
The only pitfall here is most courses are not much related to each other, so Udacity is probably not your starting point, but a virtual university to further your study.
CodeHS
At this point all websites you read here are mainly dedicated to web development and computer science, but CodeHS is one with simple and fun game programming lessons that involve problem solving, JavaScript, animation, data structures, game design and puzzle challenges.
The advantage of CodeHS is it teaches you to think, and solve a problem like a programmer with its first course, Programming with Karel. The lessons are fun as you will learn how to use the code to move the dog, Karel to complete given tasks and puzzles like picking up ball and building a towel. It plants a solid concept of programming and the way it solves the problem systematically in your mind.
Other than the course mentioned above, you must sign up first with $25 per month to continue your learning journey, but it’s a perfect site to learn basic game programming effectively.
Khan Academy
Although Khan Academy’s courses are not as structured as CodeHS, it serves as an open playground for both novice and amateurs particularly interested in learning drawing, animation and user interaction with code. It does not preach any specific programming language, but the code pattern it adopts can be applied anywhere, as a majority of languages share the similar programming pattern.
You can first join the Programming Basics course to watch and learn basic concepts, then explore the given code after the video tutorial to validate your doubts. With Khan Academy, you can save your modification as a Spin-Off for everyone to enjoy and customize. There have been hundreds of spin-offs just from one lesson in one course, so imagine the community size, and the lesson’s effectiveness.
Scratch 2.0
Think CodeHS and Khan Academy are still too hardcore for your child, who has no comprehension beyond basic English? No worries, there is something even easier for your aspiring next-gen programmer, and it’s called Scratch. Previously an offline software that allow kids to create, upload and share their projects proudly, Scratch is now fully online with its 2.0 successor.
It’s not about programming though, but a combination of visual blocks of commands that tell assigned objects how to behave, such as telling the cat to move 10 steps, or yell ‘meow’ when it touches the owner’s leg. By using this visual programming method, the young programmers will form a habit of breaking a problem into smaller blocks, and solve them one by one logically.
SQLZOO
Structured Query Language (SQL) is just a language purely designed to store and retrieve data from a database, so imagine the boredom you will experience when programming a warehouse. Yet SQLZOO wants you to learn SQL happily with its interactive interface and smileys.
Since there is really nothing too deep to explain for a straightforward language like SQL, the site will only ask you to replace the variables like city names or population number, and raise the difficulty from that level. One huge let-down will be the shortage of hints, answers and forum, so you are probably doomed if you fail to solve any one of the quizzes, just like old times.