Archive for the ‘opensource’ Category

The future of opensource

Thursday, June 3rd, 2010
An excellent article analysing the annual survey on the future of opensource (OSS).

A decade ago we adopted open source tools for our products and services (Linux, and Firebirdsql followed by LAMP stack, osCommerce, Wordpress, Drupal,Dotnetnuke and Android) for SMEs and Enterprises. Our customers have benefited through lower cost of ownership, licensing issues and vendor lockin. We are actively pursing research on the Android development platform to build our next generation business applications.
 

Impact of open source

  • Tipping point – Whitehouse.gov runs on Drupal CMS
  • Ways of doing more with less
  • Being recognized as high quality software
  • Highest impact on Content Management, Erp, CRM and Database
  • Product life cycle releases are smaller
  • Innovation happens much faster in the opensource environment
  • Lack of formal vendor support is no longer a top concern for buyers
  • Increased confidence among enterprises to move top opensource
  • Recession has made OSS a lot more compelling for enterprises
  • Opensource vendors reported higher revenues
  • Cloud and Saas to have impact on opensource
  • OSS will represent more than half of their software purchases in the next five years

    Wordpress 3.0 beta release

    Friday, May 14th, 2010

    WordPress 3.0 was released this April, albeit a beta version. Good news, nonetheless. For months, developers have been waiting with bated breath for the latest version of WP which offers significant changes from its previous versions. Till now they had to be content with new releases which were mostly security fixes and went largely unnoticed by the not so savvy WP developer. So what's new in 3.0? Let's take a brief look

    Wordpress 3 theme

    Kubrick has been shipped with WordPress since version 1.5 and it’s been around for five years since the default theme was changed. Back then, Kubrick was a thing of beauty with rounded corners and a pleasant feel to it. It wouldn't be surprising if some WP users thought that the bluish theme was developed by WordPress, which actually was contributed by Stanley Kubrick.
              
    But WP 3.0 has brought a new theme called “2010” based on the theme Kirby. The theme looks cleaner, wider and brighter than Kubrick and is minimalist at the same time. The theme feel can be customized in many ways from the admin too.

    Wordpress 3 navigation

    WP isn't popular for the customization of its navigation system, though lots of plugins   are available, and it was about time that they introduced some new feature.

    The new navigation system was developed and integrated into WP by WooThemes, a WP theme development company. The navigation is very intuitive with support for adding, pages, posts, categories, external URLs, hierarchies, etc. Drag and drop makes creating menus a matter of minutes. Multiple menus are also supported.

    WordPress and WordPress MU ( Mutli User)

    WP MU is a fork of WP which is used to run multiple blogs using the same installation. WP 3.0 supports the integration of the two. Wordpress.com actually runs on WP MU, which isn't hard to guess.

    With 3.0, the codebases of the two will be merged, thus WP MU won't exist as a separate project. This means that, many features restricted to MU will be available with WP, such as BuddyPress and MU will get access to all the plugins available in the single user WP, all in all, making WP stronger, though more cluttered.

    Wordpress 3 custom Post Types(CPT)

    Last, but not the least, the most important feature of WP 3.0. Though it may not be clear at first sight, this is the one that's going to change how people view WP. Till now WP was a blogging software with some bits thrown to accomplish a CMS with the help of pages, and of course lots of plug-ins which hack the core files for adding custom data blocks. But Custom Post Types makes WP more of an actual CMS like Drupal, or Joomla.
     
    CPT can be appreciated with an example. Till 3.0 the only post types that were allowed in WP were posts and pages. Posts were used to add blog contents, while pages took care of the CMS. But pages were limited, because you had to enter all your data into a single content block inside the page. Plugins could fix this problem by providing more content blocks. But issues such as compatibility with other plugins, mainly editors like FCKEditor existed. Plug-ins wouldn't sometimes work when WP was upgraded.
     
    So how does CPT solve such issues? With this feature, you can add any kind of content type. Suppose you have a website which reviews movies. Instead of adding movie details in a page, and then adding details such as name, duration, rating, etc. using custom fields, which is quite a hassle, you can create a new content type called Movie. There are functions to register the Movie content type, and some actual coding, which can be dealt in detail some other day.
     
    Once you create the Movie post, you could have separate fields for entering data such as Movie-images, cast, duration, description. You could create a custom taxonomy for Movies such as Rating, instead of using the default Categories or Tags taxonomy of WP. This is just an example to show how CPT can be used to manage data more elegantly. Its use is limited only by your imagination.
     
    With its new features WordPress 3.0 is in a position to take on the mighty Drupal as a proper CMS, and will help in shedding inhibitions developers might have about its CMS capabilities.

    Our own website is done using Wordpress and surely CPT is one feature we would be looking forward to!

    WordPress Team @ Software Associates

      Memcached – A distributed memory caching system

      Wednesday, April 28th, 2010


      Memcached (pronounced as mem-cash-dee) is an open-source, general purpose, distributed memory caching system designed to solve today’s web-scale performance and scalability challenges. This was originally developed by Danga Interactive for LiveJournal but it is now used by many of the largest and most heavily trafficked web sites on the Internet like Twitter, Facebook, YouTube, Flickr, Digg and Wikipedia. By integrating a caching tier we can improve application performance while minimizing database load. In doing so, we can scale our applications to accommodate more concurrent users and spikes in traffic while at the same time making the most efficient use of our existing computing infrastructure.


      It is designed to take advantage of free memory on any system running Windows, Linux, Solaris or BSD with very low CPU overhead characteristics. It can be installed on dedicated servers or co-located with application, web or database servers. OOTB memcached is designed to scale from a single server to dozens or even hundreds of servers. Facebook currently has the largest known deployment of memcached servers, numbering well over 800 with 28TB of memory for servicing memcached. One of the advantages of memcached is its ability to scale massively.

       

      How Memcached Works?

      Memcached is based on hash tables and it can be considered as an array of buckets. Each bucket contains a list of nodes with each containing a (key, value) pair. Memcached leverages a two-stage hash that acts like a giant hash table looking up key = value pairs. The web application maintains a hash table, about what information is stored in which Memcached instance. A request to get a particular key is sent to the appropriate server instance, before the application accesses a database.

      Memcached consists of two important core components, a server and a client. Server instances are running throughout a network wherever free memory is available. Each instance of a Memcached server listens on a specified port and IP address. We can also run multiple instances of Memcached on the same machine where the total memory is greater than the amount that the kernel makes available to a single process. During a memcached lookup, the client hashes the key against a list of servers. When the server is identified, the client sends its request to the server who performs a hash key lookup for the actual data. Because the client performs one stage of the hashing, it can be used to add dozens of additional nodes.

       A Sample Memcached Lookup:

       A basic memcached lookup can be illustrated in the example below with Clients X, Y, Z and Servers A, B, C.

       


       

       ‘Set’ the Key and Value

       

           Client X wants to set the key “username” with value “alice”

           Client X takes the list of available memcached servers (A,B,C) and hashes the key against them

           Server B is selected

           Client X directly connects to Server B, and sets key “username” with the value “alice”

       

      ‘Get’ the Key and Value

       

           Client Z wants to get key “username”

           Client Z is able to use the same hashing process to determine that key “username” is on Server B

           Client Z directly requests key “username” from Server B and gets back “alice”

           Subsequent requests from Clients X, Y or Z for key “username” will access the data directly from Server B


             Conclusion:

      Memcached can improve the scalability of applications by providing a fast and efficient distributed storage system for transient data.  It can be a big help but it’s not the last word for all performance problems. When added in the right place, it can produce very impressive results – especially for high-traffic applications. It’s a great tool to have in the toolbox, and it’s really simple to get started with.


      By .NET Team, Software Associates

       

        LAMP Technologies – Skills update

        Friday, March 12th, 2010

        LAMP is a popular acronym for Linux, Apache, PHP, and MySQL based technologies and is used widely by developers across the globe. Using LAMP stack offers great advantages along with its simplicity and ease of use. Probably this is the reason which makes it a default choice for driving web applications. Our technology labs at Software Associates are constantly working to keep you updated with latest in LAMP and Microsoft technologies. We provide Chat applications, Google Map implementation, WYSIWYG Editor implementation and CMS based application to name a few. Some of the work that we have done in LAMP includes

        LAMP

        PHP Development

        • Development of Small and Medium sized web applications in PHP4 and PHP5.
        • Migration from PHP4 to PHP5.
        • Custom development of Forums, Blogs, CMS, Social networking sites, Galleries.
        • Strict PEAR Coding standards.
        • Object Oriented Programming Approach.
        • Re-usable, scalable and extensible source code.
        • Use of Web Services.

        MySQL

        • Database design.
        • Normalization and Optimization.
        • SQL Version change fixes.
        • Database maintenance.
        • Stored Procedures.
        • MySQL Tuning
        • Indexing services.
        • Full-text search and results by relevance.
        • PDO for MySQL

        PgSQL

        • Database design.
        • Normalization and Query Optimization.
        • User defined functions and views.

        PHP Frameworks

        • Zend Framework
        • Kohana Swift Framework
        • CakePHP
        • CodeIgniter
        • Fusebox

        Open source programmes

        • OsCommerce – Shopping cart implementation and customization.
        • Drupal – CMS, Theme customization, Custom pages, HSBC payment Integration.
        • WordPress – Blog installation and customization.
        • PHPBB – Forum installation.
        • vBulletin – Forum installation.

        Ajax

        • Rich Ajax applications.
        • JQuery and JSON support.

        Payment Integration

        • PayPal
        • HSBC (API/CPI)
        • Authorize.NET
        • WorldPay
        • PROTX

        Images

        • Proportionate Image resizing.
        • Thumbnail creation.
        • CAPTCHA image generation for web forms.
        •  Advertisement banners.
        •  GD Library.
        •  ImageMagick.

        XML

        •  XML parsing.
        •  XML generation.
        •  RSS Feed generation.

        Email

        • Emailing solutions.
        • Email Marketing.
        • PHPMailer

        SEO

        • Search Engine Friendly URLs.
        • URL rewriting with Apache mod_rewrite and .htaccess.

        Data Exort/Import

        • Data export to SQL, CSV, XML, Excel, PDF formats.
        • Data import from SQL, CSV, XML, Excel files.

        Miscellaneous

        • Chat applications.
        • Secure user authentication and Role Management.
        • Google Map implementation.
        • Viral Email List.
        • Remote file management using FTP functions.
        • Scheduler settings.
        • WYSIWYG Editor implementation.

         

          WordPress basics

          Monday, February 22nd, 2010

          Wordpress competency - Software Associates

          Why Use WordPress as a CMS?

          If you are new to programming jargons, then this blog might be very useful to you. First of all let me explain what is a CMS?

          What is a CMS?

          A Content Management System (CMS) is a software which allows those not endowed with too much technical knowledge to organize and manage web content. It helps in maintaining and updating a website in a quite simple and affordable way.

          This is important for small businesses that do not have huge tech budgets. As the content creators get their websites back into their hands, and they can spend time on what really matters – creating relevant content. This saves valuable time and effort both for the content creator and software firm developing website for him.

          Among number of CMS available, lets look at one of the better know open source system WordPress. This would be an introductory article and we shall see more of Wordpress in coming blogs.

          What is WordPress?

          WordPress initially started out for facilitating blogging, but because of its versatility it can be used for creating non-blog websites too. The fact that WordPress has support for pages, other than posts, renders it capable of acting as a CMS. Posts are dynamic whereas pages are largely static. And most websites (corporate, educational, entertainment, scientific) have most of their page content updated very infrequently.

          It is WordPress’ administrative area that turns it into a CMS. The WordPress admin area provides a WYSIWYG (What You See Is What You Get) editor – similar to a mini-version of Microsoft Word. This allows virtually anyone to add and edit content themselves – all through their web browser – and without knowledge of HTML.

          For more advanced users, there is a “code view” option where you can edit HTML code in a page, post or article, but it is not necessary for creating simple content.

          Benefits of Using WordPress

          The following are some compelling reasons as to why WordPress is being used by 202 million websites worlwide:

             1. Its Free – WordPress is an open source software.

             2. It Integrates With Your Blog Perfectly

          There’s no need to worry about integrating your blog with whatever CMS you’re using for the rest of your site if you use WP for everything, as WP is first and foremost a blogging software.

             3. Easy to learn

          If you can send an e-mail, use Microsoft Word or set up a Facebook account, then you can use WordPress. That saves clients a great deal of time and money. Rather than paying a firm or freelancer to constantly update their site and waiting up to several weeks for those changes to be made, the clients can now make updates instantly on their own.

             4. Tons of Themes

          Themes are a “skin” of a look & feel that can be changed with 1 click. With some customization, themes can be updated to match your brand. It is difficult to find another CMS with a better stock of themes/templates in terms of both quality and quantity.

             5. Search Engine Optimization

          WordPress is designed to be very search engine friendly, with the help of features such as categories, tags, permalinks, etc. This means better Google rankings, and in turn more traffic to your website.

             6. Plugins

          There are literally hundreds of plugins that extend what WordPress does, so the actual functionality is nearly limitless. There are plugins for web advertising, flickr, twitter, e-commerce, newsletters, weather and surf reports, RSS feeds, SEO, Google Analytics and many more.

             7. Multiple Authors

          WordPress’ highly advanced user system allows up to 10 levels of users, with different levels having different (and configurable) privileges with regard to publishing, editing options, and other users.

          There are a lot of other free CMSs available on the internet. Drupal is considered to be more powerful and developer friendly, whereas Joomla! is seen as more designer friendly. However, the beauty of WordPress is that it thinks like a writer and a designer at the same time, and this balance coupled with the small learning curve and vast technical support available is what appeals to most CMS developers.

          CMS Team @ Software Associates

            Related Articles – Open Source

            Tuesday, February 9th, 2010

            Related Articles>>

            Engagement Model

            Facebook Applications

            Open source team

            Google Social networking API

            Portal building expertise

            Content Management System

            Web 2.0

              Technology

              Friday, February 5th, 2010

              We provide a perfect blend of open source and proprietary tools to give our associates the best of both worlds. Our research team is constantly involved in looking for better technology to suit your needs be it ASP.NET based web application development  or a Content Management System (CMS) under DotNetNuke or LAMP (Zend framework) based portal application development. We believe in constant learning and are among few early adopters of almost every major technology. Latest in our portfolio are Microsoft Sharepoint server, iphone and android application development. Feel free to visit our eco friendly Research and Development labs located at Calicut, Kerala – an emerging IT destination to see some of the bright minds at work on leading and innovative web and tablet PC technologies.

                Drupal – content management made easy

                Thursday, January 8th, 2009

                Drupal is an open source content management platform, written in the programming language PHP. Originally written by Dries Buytaert as a message board, Drupal became an open source project in 2001.

                Drupal was also designed to allow new features and custom behavior to be added by third parties. For this reason, Drupal is sometimes described as a "Content Management Framework". Although Drupal offers a sophisticated programming interface for developers, no programming skills are required for basic web site installation and administration. You can power many different types of websites with it without knowing any coding languages.

                Read about our Drupal competencies here

                Key reasons to choose Drupal as CMS platform:

                • Fast! – Out of the box, Drupal is small in space and memory requirements, which this is the key to its speed. When it comes to web development, less is always more.
                • Portable! – Drupal is built with standard technologies so it can be implemented on just about any server, and accessible from anywhere.
                • Scalable! – Drupal supports the owner and website’s users, now and as the business grows.
                • Modular! – Drupal is flexible. Limitless options and add-on functionality allow it to change seamlessly with the business.
                • It's Popular (with the developers)! – Drupal is supported by a huge community of dedicated programmers who are constantly building new functionality.

                General features

                • Collaborative Book – The unique collaborative book feature lets you setup a "book" and then authorize other individuals to contribute content.
                   
                • Friendly URLs – Drupal uses Apache's mod_rewrite to enable customizable URLs that are both user and search engine friendly.
                   
                • Modules – The Drupal community has contributed many modules which provide functionality that extend Drupal core.
                   
                • Online help – Like many Open Source projects Drupal provides online help system built into the core help text.
                   
                • Open source – The source code of Drupal is freely available under the terms of the GNU General
                   
                • Public License 2 (GPL). Unlike proprietary blogging or content management systems, Drupal's feature set is fully available to extend or customize as needed.
                   
                • Personalization – A robust personalization environment is at the core of Drupal. Both the content and the presentation can be individualized based on user-defined preferences.
                   
                • Role based permission system – Drupal administrators don't have to tediously setup permissions for each user. Instead, they assign permissions to roles and then group like users into a role group.
                   
                • Searching – All content in Drupal is fully indexed and searchable at all times if you take advantage of the built in search module.

                Content management

                • Polls – Drupal comes with a poll module which enables admins and/or users to create polls and show them on various pages.
                • Templating – Drupal's theme system separates content from presentation allowing you to control the look and feel of your
                • Drupal site. Templates are created from standard HTML and PHP coding meaning that you don't have to learn a proprietary templating language.
                   
                • Threaded comments – Drupal provides a powerful threaded comment model for enabling discussion on published content. Comments are hierarchical as in a newsgroup or forum

                Platform

                • Apache or IIS, Unix / Linux / BSD / Solaris / Windows / Mac OS X support – Drupal was designed from the start to be multi-platform. Not only can you use it with either Apache or Microsoft IIS but we also have Drupal running on Linux, BSD, Solaris, Windows, and Mac OS X platforms
                • Database independence Drupal is built on top of a database abstraction layer that enables to use Drupal with MySQL and PostgreSQL. Other SQL databases can be supported by writing a supporting database backend containing fourteen functions and creating a matching SQL database scheme.
                • Multi-language – Drupal is designed to meet the requirements of an international audience and provides a full framework to create a multi-lingual website, blog, content management system or community application. All text can be translated using a graphical user interface, by importing existing translations, or by integrating with other translation tools such as the GNU gettext administration and analysis
                   
                • Analysis, tracking and statistics – Drupal can print browser-based reports with information about referrals, content popularity and how visitors navigate your site.
                   
                • Logging and reporting – All important activities and system events are captured in an event log to be reviewed by an administrator at a later time.
                   
                • Web based administration – Drupal can be administered entirely using a web browser, making it possible to access it from around the world and requires no additional software to be installed on your computer.

                  A decade of years of open source

                  Sunday, March 9th, 2008

                  Our open source initiatives have helped us access global markets. We have successfully executed LAMP(Linux/Apache/PHP/MySQL) portal development projects for clients with core businesses in different industries such as Loyalty (CRM Application), Multi level marketing, architectural showcase, personal finance, trade associations etc. We have over 800 man years of LAMP expertise, backed by a dedicated group of professionals working on open source technologies under various frameworks such as fusebox,smarty, cakephp and PEAR and MVC.

                  Linux servers

                  We jumped onto the Linux server operating system bandwagon during the late 90's. The scalability, stability and performance has been no doubt – legendary.

                  Relational Database – Firebird and DB2 Express C

                  Our experiments with a then unknown product called "Firebird" has paid rich dividends. It's rock solid performance, scalability and stability have allowed us to spread our application base worldwide.

                  PHP – web scripting

                  We are currently engaged in building a large social networking project for a client in USA using PHP 5 / PEAR standards. We have build many medium sized bespoke content management systems (CMS), portals, eCommerce engines and corporate websites for our global clientele.

                  Our IBM competency group works extensively under PHP ZEND DB2 Express C platform for OLAP and XML-based service-oriented architecture.