Author: cr

Tutorial: Use CMDBuild webservices to connect to Alfresco

It has been a long time since I have posted on this blog. Hoping to get back to it and post more often this year!

This post is a follow-up to my old post (Connect to Alfresco from CMDBuild) and gives a short intro on using the CMDBuild web services to connect to Alfresco. The REST/SOAP endpoints provided by CMDBuild are invaluable in building additional connectors/interfaces of your own. The web services (refer here for the manual) can be used for all basic CMDBuild functions – add/update/delete cards, add/update/delete relations, and so on. CMDBuild also provides a few web services to work with card attachments (that are internally stored in Alfresco) – upload/download/delete attachments, update attachment descriptor and get attachments list.

(more…)

Installing Shark Workflow (TWS) for CMDBuild

CMDBuild is an amazing configuration/asset management tool that takes its support of the ITIL way of doing things a big step forward, by providing links to a generic workflow engine, Shark (Enhydra Shark, now called Together Workflow Server). This way, CMDBuild is able not only to manage the update of the asset inventory and their functional relations, but also to enable the definition and control of the processes for IT service management.

shark1201
A process includes an activity sequence, carried out by operators and/or computer applications, every application represents an operation that has to be carried out within the process. In keeping with their system flexibility, CMDBuild provides a generic workflow engine to model processes case-by-case, rather than implementing a series of rigid and predefined processes.

Here we take a look at how to install Enhydra Shark for CMDBuild.

(more…)

How to handle builds & deployments for multiple environments in .NET

I came across a situation a while back, where I needed to setup a build process for a Visual Studio 2008 solution that contained multiple projects:

  • A bunch of Console Applications,
  • A mobile app (targeted at an enterprise-class rugged Windows Mobile 6.5 device to be used on field),
  • A desktop Windows Forms application &
  • An ASP.NET web application.

We have 3 server environments: Dev, QA & Production on which each of these applications should be capable of running. (Except for the mobile app, which will run on its own SQLCE database file sitting on each hand-held unit). What I needed to come up with, was a way to manage the environment-specific configuration info in a manner that let me do a single build, and “apply” the right set of configuration data according to where I was doing the deployment.

The direct way to do this would be to use the VS Solution/Project Configuration functions. You would create one configuration for each environment. Then you would set up a pre-build event like <code> copy “$(ProjectDir)$(ConfigurationName).<<configfilename>>” “$(ProjectDir)$(OutDir)<<configfilename>>” /Y </code> to copy the right config file over to your build output directory. You can check out this excellent (albeit really old, considering this is VS 2008!) article from Bil Simser –
http://weblogs.asp.net/bsimser/handling-multiple-environment-configurations-with-net-2-0
or this one from Scott Hanselman –
http://www.hanselman.com/blog/ManagingMultipleConfigurationFileEnvironmentsWithPreBuildEvents.aspx

The disadvantage here is that you need to do a build with the appropriate configuration selected, in order to get the right set of files selected. I would prefer to have a single build output file, like a TAR/ZIP archive, which includes all the config files for all environments. Then when I deploy/unpack it to the right environment, I want to deploy the right config files based on an argument that I’ll pass into my deployment script. Personally, that makes it easier to control for me, rather than pick the right build configuration on the VS IDE every time. It also enables me to do everything on the command-line too if I want, which is good to have.

Being a .NET newbie, I didn’t have the time to figure out Nant (which is free & open-source btw), so I used Visual Studio’s pre-build & post-build events to make things work the way I needed them to. Here is how it went.

(more…)

How to use LINQ to work with XML (Visual Studio 2008)

Note: I still use VS 2008 for software development, as do several developers out there working for large corporate entities that are much slower to upgrade technologies. I’ve only really tested LINQ with VS 2008, although it is possible it might work the same way with newer versions.

LINQ, or Language-Integrated Query is a .NET Framework component that adds native querying capability to .NET languages. LINQ with XML lets you work with XML documents very easily. I like to use the LINQ to XSD Preview for my XML work in VS 2008. The LINQ to XSD Preview is basically a project that provides typed XML programming support on top of the existing LINQ to XML framework. With this, you can generate classes for your XML objects defined in a XSD.

(more…)

Connecting Alfresco DMS & CMDBuild

CMDBuild (http://www.cmdbuild.org/en) is a open-source configuration and management tool: It comprises a completely configurable web application to model and manage a database containing assets, and handle related workflow operations. CMDBuild can be used as an asset management system for any kind of assets, as it gives the administrator full flexibility over the asset model and inter-relationships between assets. CMDBuild also provides connectors to other open source components that can be used to extend the usability of the tool, and add features such as document management, automatic inventorying, external authentication, reports, workflows, GIS features, etc. Alfresco DMS can be connected to CMDBuild and used to store “attachments” for any assets defined and tracked within CMDBuild.  Refer to my earlier post here to see how to manually install Alfresco on your Tomcat server. Both Alfresco & CMDBuild can be installed on the same instance of Tomcat if needed. I have on my to-do list a set of posts on CMDBuild itself, and how to install/build/configure it. For this tutorial, we assume you have both CMDBuild and Alfresco DMS up and running already on your server. (more…)

Alfresco Community Edition 4.2 : Step-by-step manual installation

Alfresco is an open source Enterprise Content Management (ECM) system that manages all the content within an enterprise and provides the services and controls that help manage this content.

This is an entirely Java-based application and can run on any OS that can support a JRE and the Community Edition is fully customizable/extensible as it is open-source.


Alfresco is available as an all-in-one installer (includes the core application, PostGreSQL, Tomcat, and all other bits and pieces). This is suitable for a fresh install on a new system. But if you already have a Tomcat server & a PostGRE DB running on your system, the all-in-one can complicate your installation. This tutorial shows how to install Alfresco using the packaged WAR file on an existing Tomcat installation and connect to an existing PostGreSql DB service.
(more…)

Setting up a VPN using LogMeIn Hamachi

Here is my requirement:

Comm Situation

 

  • I have regular servers running a bunch of enterprise apps sitting in a customer data center, BUT they do not have full access to the enterprise WAN (due to various management-level battles and project permissions).
  • The servers have access to the Internet only via a regular home-use-type modem sitting next to the rack. So the team needs to use TeamViewer/VNC/LogMeIn to hook up with them.

Obviously, not ideal! Where I work, we can’t afford to get a broadband line with a static IP for the servers, which is what is needed to set up a proper VPN with a firewall. In the meantime, LogMeIn Hamachi is what I use to access my server apps straight from my workstation. Hamachi can be used to create a virtual private network (VPN) over the Internet. It installs an adapter on every member of the network, which lets it create a relay tunnel to push traffic from point-to-point. (more…)

Tutorial: Connecting to Google Play Services

This tutorial assumes

  1. You have basic knowledge of getting up and running with Android.
  2. You have the Android SDK installed on your machine & configured with your IDE.

If not, the Android Developers Site is a great place to get started. Here you can get a very good idea of Google Play Services and how it works. 

In this tutorial, we’ll see the basics of how to connect an Android app with Google Play Services. This tutorial is put together using several online sources that I referred to when learning Android, including the ever-useful Android Developers Site. (more…)

Publish to WordPress straight from Microsoft Word

This afternoon, I was trying to copy-paste an article I’d written in Word with careful formatting & inline pictures, to WordPress. Of course, it didn’t work as well as I’d hoped. The formatting went awry and none of the pictures carried over. Then I did a bit of Googling and found an easy way to publish articles to my blog straight from Microsoft Word 2013. (more…)

Mobile Content Management Systems – Part 1

Looking for a content management system to handle everything from website content to multi-channel delivery? Here are some of the options available –

  1. Joomla
  2. WordPress
  3. Drupal
  4. Liferay
  5. Pimcore
  6. Magnolia CMS
  7. Open CMS
  8. Alfresco
  9. Ones listed here on SourceForge

However, my requirements are for something more along the lines of a consumer engagement platform, rather than a plain old content management system, especially considering that most of the above packages were designed with traditional web-based content in mind. So I ended up moving to a slightly different market segment. (more…)