Wednesday, December 3, 2008

I am in love with open source again

It's awesome the way people collaborate and share their views and ideas in Open source. Every one from totally different backgrounds with only Drupal as their commonality are discussing at Drupal redesign iteration 9: http://groups.drupal.org/node/17106

http://drupal.markboultondesign.com/iteration10/homepage_notloggedin.html.

The best part of the discussion is everyone out there actually gets to read and evaluate others perspective without prejudice! To have such discussions in a real time environment with people face to face, having each one to listen to the other would be such a challenge. It's so beautiful to just watch this happen, let alone be a part of it. I just love the way we can collaborate online, I love Open source :)!

Monday, November 24, 2008

Drupal in Education:

There is a need for Schools and Colleges to have a Dynamic website. This can be very easily achieved using some basic modules in Drupal

A broad list of features any educational institute would require and their associated modules / Drupal configuration.

I) Roles: ( Define using Drupal’s core access control functionality)
1. Admin
2. Teacher
3. Student
4. Visitor

II) Various Content and Content Categories - use Taxonomy to define the categories and CCK for different types of content
1. Announcements – Just another content type
2. Marketing content: - Static content
About us
Contact us
Feedback, etc.

III) Galleries – I love brilliant gallery and the effect that goes with it.

IV) Video – use video CCK with FFMpeg conversion tool, size of videos is always a problem and costs bandwidth as well. So using FFmpeg, we can configure the videos to get optimized as flash files.

V) Features for Registered users (parents/teachers/students)

1. Student id creation (bulk upload) og,
2. Class wise Home work (upload) – CCK and og
3. Class wise Events (online event registration) og - event module
4. Contact teachers – contact us page
5. Personalized Dashboards – Use views

References:

CCK:
http://drupal.org/handbook/modules/cck
http://drupal.org/project/cck
Views:
http://drupal.org/node/109604
http://drupal.org/project/views
Taxonomy:
http://drupal.org/node/299

Video and FFMpeg modules:
http://drupal.org/project/flashvideo
http://drupal.org/project/video_cck
http://drupal.org/project/emfield
Gallery:
http://drupal.org/project/brilliant_gallery
http://drupal.org/project/gallery
Organic Groups:
http://drupal.org/handbook/modules/og
http://drupal.org/project/og
Other useful modules:
http://drupal.org/project/pathauto
http://drupal.org/project/front

Some interesting articles and podcasts:

1. Using Drupal in Education, Training, and (Some) Next Steps
At: http://www.funnymonkey.com/book-training-next-steps
You can also download DrupalEd, a pre configured Drupal installation for Educational institutions.

2. Jeff Robbins talks to Bill Fitzgerald of FunnyMonkey about how Drupal is being used in universities, high schools, and other educational institutions at
http://www.lullabot.com/audiocast/podcast-66-bill-fitzgerald-education

Groups to follow:
http://groups.drupal.org/drupal-education

Wednesday, November 19, 2008

Multisite vs OG concept

Organic Groups module
Enable users to create and manage their own 'groups'. Each group can have subscribers, and maintains a group home page where subscribers communicate amongst themselves. They do so by posting the usual node types: blog, story, page, etc. A block is shown on the group home page which facilitates these posts. The block also provides summary information about the group.


Multisite installation in drupal

Multi-site is a very powerful feature in large sites or hosting operations but is often mis-understood. Multi-site is designed as a way to share the same code base for multiple different Drupal based sites. These sites are separate and do not share content or administration. Multi-site just helps with managing the code base, shared themes and modules.

A single Drupal installation can host several Drupal-powered sites, each with its own individual configuration.


Comparison of OG and a Multi site configuration for some parameters:

Speed and Performance of individual sites
Multisite: Very good
OG: Need to cache queries to improve performance

Size of database
Multisite: No of tables in the Database incremental by the number of site specific tables. (Drupal allows for some tables to be shared across sites, hlep us configure common functionality if any.)
OG: Incremental only by an entry in the node table for each of the of content created,and an entry in the group – node access mapping table.

Managing change
Multisite:Changes in database has to be done across each of the site specific tables - This will be a challenge
OG: Easier to manage change, as all tables are shared.


The concept of OG is good for inter-related sites, when there are a lot of common functionalities across these sites.The decision of Multisite vs OG has to be based on the no of multisites that need to be created and the functionlaities across these sites.


No of sites using OG:

http://teamsugar.com

http://www.mailfriends.com
http://www.fastcompany.com
http://groups.drupal.og

Thursday, November 6, 2008

Chennai meet Nov 2008

Checkout the happenings at http://groups.drupal.org/node/16429. New members: Marco, Thany and Krishnakumar, bring in more energy!

Wednesday, October 29, 2008

Static File Servers and Drupal

Any call to a Drupal site has two aspects associated with it:

The Dynamic HTML that gets created on access of the website + the static elements (like css, js and other images) that are embedded in it.

A request to the a website from a browser = Dynamic HTML call to the web server + one call each for every associated static element in the HTML to the same web server.

The amount of memory required to serve a Dynamic request is much more than that of the static file requests. More over in Apache the same memory will be utilized to serve static files as well. To avoid this we can place all static files in a separate Web server and configure the this server to handle static requests. This will greatly improve the performance and scalability of a Drupal website.

A Drupal site with lots of modules installed that handles a lot of data from the database can easily require 64M of memory per thread. This is a huge expenditure of memory compared to the 1-2M it takes to serve a static file. Since Apache recycles its worker threads, you end up in a situation where the same 64M monster that created the Drupal HTML is also used for serving a .jpg file. This is a huge waste of resources.


Refer: http://www.lullabot.com/articles/using-lighttpd-static-file-server

For a private server the needs are different. The static file become applicable for the images and css and js files associated with HTML but for the main application we need to use Private files. Private files makes the file handling process itself dynamic, where in we will require to use PHP to identify permissions and the location of the files. This is handled by a separate menu call back in Drupal. We can not use static files for this purpose.

In this case we are looking at three approaches:

1. To handle files to be placed in any physical directory (not in the root)within the same server

2. To handle files to be placed in any physical directory (not in the root) in a different server - here we are using the FTP protocol to access and place files in the file server. This is a custom code written by us.

3. To handle files to be placed in any physical directory (not in the root) in a different server - using Curl

Questions that arise - Which of these are scalable? Which is most secure?

Wednesday, October 15, 2008

The Semantic web and Search

The semantic web is a vision of information that is understandable by computers, so that they can perform more of the tedious work involved in finding, sharing and combining information on the web, closer to how a user would look for information.

Achieving this would indeed awesome. Imagine the power on our searches. With all our websites having so much of information how the user could benefit from Semantic search. Dries article and what the SearchMonkey video demonstrates sums it all up! The trend in Searches today, read on ...

Here is what Dries Buytaert says about Drupal, the semantic web and search
What if instead of having a custom indexer designed just for Pivots we had a rich indexer with lots of meta information and semantic tagging.

Here is another example. Imagine a standard Drupal node-type called 'job'. The fields in the job node-type would have RDF properties associated with them mapping to salary, duration, industry, location, and so on. Creating a new job posting on a Drupal site would generate RDFa that semantic search engines like Yahoo!'s SearchMonkey would pick up and the job would be included in their world-wide job database. Read more...




SearchMonkey is Yahoo! Search's new open platform.

Using SearchMonkey, developers and site owners can use structured data to make Yahoo! Search results more useful and visually appealing, and drive more relevant traffic to their sites. Read more...

Sunday, October 12, 2008

Nagarajan in Drupal Chennai

I am proud to announce that my colleague Nagarajan has started a Drupal Blog. He has expert knowledge in various aspects of Drupal! For a very informative nice article on Performance improvement guidelines for Drupal sites, visit: http://nagarajan-drupal.blogspot.com/

Friday, October 10, 2008

Parameters in Apache Solr Schema.xml

Indexing using Apache Solr:

In the Schema.xml we can create various datatypes. Every datatype can be associated with one and only one Analyzer. The no of Data types and the associated Analyzers define how we want to index the content. We can have one Analyzer for each of the columns in our Database!

1. The main DATA CLASSES:

1.1 Text

Class: Perdefined javaclasses to define the content datatype

Sortmissinglast = “true” (a sort on this field will cause documents
without the field to come after documents with the field )
SortMissingFirst

omitNorms= “true”
omitNorms is set to true to omit the norms associated with this field (this disables length normalization and index-time boosting for the field, and saves some memory). Only full-text fields or fields that need an index-time boost need norms.

1.2 Numeric:

class="solr.IntField" OR
class="solr.SortableIntField"

if you place a text inside a int field in the sortable type it will converted to an integer and can be sorted.

1.3 Date:

Format for date field :
1995-12-31T23:59:59Z trailing "Z" designates UTC time and is mandatory

Reference: ://www.w3.org/TR/xmlschema-2/#dateTime

You can perform operations on the date field and store in the database.
NOW/HOUR
... Round to the start of the current hour
NOW-1DAY
... Exactly 1 day prior to now
NOW/DAY+6MONTHS+3DAYS
... 6 months and 3 days in the future from the start of the current day

Date Field details refer javadocs, probable use case is for time based faceted search.

3. Analyzers: Tokenizers and Tokens

If you want different columns in your database to use different Tokenizers, they must be associated with different data types in Solr. Over and above the tokenizers, the text can be further indexed using the Token filters.We an also have predefined analyzer classes in java and then just include them, they are:

BrazilianAnalyzer, ChineseAnalyzer, CJKAnalyzer, CzechAnalyzer, DutchAnalyzer, FrenchAnalyzer, GermanAnalyzer, GreekAnalyzer, KeywordAnalyzer, PatternAnalyzer, PerFieldAnalyzerWrapper, QueryAutoStopWordAnalyzer, RussianAnalyzer, ShingleAnalyzerWrapper, SimpleAnalyzer, SnowballAnalyzer, StandardAnalyzer, StopAnalyzer, ThaiAnalyzer, WhitespaceAnalyzer

Defining Custom analyzers is a combination of Tokenizers and Tokens.

2. PositionIncrementGap:

A position increment gap controls the virtual space between the last token of one field instance and the first token of the next instance. With a gap of 100, this prevents phrase queries (even with a modest slop factor) from matching across instances.

Which Tokenizer do I use? Which Token filters should I apply? How should I create my Analyzers using Tokenizers and Token filters? These questions depend on the business rule of the Search engine.

Sunday, October 5, 2008

Drupal in 2001

This is how Drupal looked in 2001, it was called Drop ("dorp" - village in Dutch) then!

Saturday, September 27, 2008

Active Threads at Drupal Redesign

Searching for Modules and Themes with certain characteristics - Imagine having all the Drupal modules tagged and we can just go to a module page, have all the related modules, tags listed!! This thread is a discussion on grouping modules and theams!!

Replace Drupal Planet and Drupal Talk with Drigg --- Didn't know about Drigg until I started following this thread! Drigg is Drupal and DIGG together!

For some one who loves Organic Groups, drupal.org projects as Organic Groups !

OG is definitely a great idea. All subscribers should get mails and notification on any updates in the issue queue, bug report or support report if subscribed too.

We should have a tab to describe the architecture of the module, the scope for future hooks or growth, this could be a wiki and we can have discussion forums around it. Group for every module saying Redesign plan for the module_name will definitely be of great use for developers to colloobrate and expand the modules. Forums must be used only to collaborate new ideas or working on a new feature, like this group? We should not under value the effectiveness of the issue queue and support request.
Click here to read more.

Another interesting thread, My vision for Drupal.org's project pages by johnforsythe@drupal.org

Join the discussion and be a part of the Drupal redesign!

Problem with Captcha for Drupal 6

For all projects that we plan to launch in the next couple of months we are using Drupal 6. We had to have the registration forms live with Captcha enabled! Drupal 6 Captcha module was in development. We decided we would use it and start addressing the issues as and when we faced them. We were pretty confident as there was a working Drupal 5 version for us to compare with.

Even while we tested it, we had some problems with the Captcha not functioning on form validate. The Captcha was not refreshing because of the form cache in Drupal 6. We have temporarily resolved by clearing the cache on every form load. This should not be the ideal way to approach the problem. We must actually refresh only the Captcha element and the rest of the form must be cached. How do we define a dynamic element within a form which doesn't get cached and gets refreshed??

My colleague Nagaraj helped us resolve this issue and identify the problem.

Links:
http://drupal.org/project/captcha
http://drupal.org/node/312154

DO we really need Captcha, want to try: Safer forms!, a suggestion by Mr. Vasanth Govind.

Tuesday, September 16, 2008

Chennai Drupal Lunch

Join us at the event http://groups.drupal.org/node/14940. Lets meet and discuss the latest happenings in Drupal.

Saturday, September 13, 2008

Drupal Redesign the Drupal way!

I am a BIG Fan of Drupal, not just the application, but the concept, the community, and how Drupal drives the community. Isn't all this brilliant? How can one have a Web 2.0 without experiencing it. I think this is clearly the advantage that Drupal has given me, far superior than the brilliant architecture and the wonderful piece of code. I feel extremely Proud in being a tiny part of this community. Being a part of a business organization gives me very little time, but in this little time I try and participate in the community in every possible way. I share my learnings, participate in the forums and IRC chat, create awareness and build a community of fellow drupalers in my home town, Chennai. The different avenues that Drupal uses to share with the community has helped me keep abreast and given me a feeling of belonging in the community.

Checkout and be a part of "Drupal.org redesign officially underway". Join the Group:Drupal.org redesign plan for the Drupal Association. Follow them on twitter at http://twitter.com/drupalredesign. Be a part of the exciting happening in Drupal redesign.

Drupalcon Redesign Keynote
From: markboultondesign, 5 days ago
SlideShare Link

Tuesday, September 9, 2008

Mashups and APIs:

The Lullabot Podcast no 63 - A Very informative Podcast!

Summarizing the Podcast - the main topics covered:

1.RSS feeds and Atom Feeds ->
Is a request for a file on another server.
RSS feeds can be generated using Views and can be aggregated on a Drupal site using the Core aggregator module.

2.SOAP - Simple Object Access Protocol (services API)
and XML RPC

Ways to call a function in another server -> add a new blog post or any specific functionality in another site, programmatically interacting with other sites You connect to the server and ask for a command (method based) calling a function and you can expect a response (what you want to do?)


These are messaging protocols that can talk between webservices!

The Services module provides for these features.

A standardized solution of integrating external applications with Drupal. Service callbacks may be used with multiple interfaces like XMLRPC, SOAP, REST, AMF. This allows a Drupal site to provide web services via multiple interfaces while using the same callback code.


3. REST - noun based, object (which object, what you want to do?)

REST APIs more efficient as with REST there is no XML conversion involved. On calling a specific URL all the parameters are passed by Get request. For exchanging a large amount of info this is not good.

Ficker, Amazon provide such APIs for us to use their services. Though they open out their APIs they still do not loose their clientèle. In fact contrarily, it helps them widen their reach.

4. JASON APIs – Packets for exchanging information, array full of data. JavaScript used to access the information. No XML, easier to send back the format that can be directly used.
Google mail exchanges information in this manner.

5. AAHA ( get HTML) JavaScript running to get HTML
AJAX ( get XML) only for complex stuff!! Client side parsing of the XML and converting it to HTML

6. RDF is single resource description format. A way of storing chunks of information, like RSS or custom XML packages. Standardize information exchange using micro formats.
Protocols used - XMLRPC, Jason, …
Format of the info - RDF or RSS
RDF is a very generalized format.

7. Drupal and Mashups: How do we use these concepts in a Drupal site?

What we can do is to take data from different websites and present it on our websites, then it is called a Mashups!

8. Gmap.module is used for displaying spatial data on Google Maps.

View Demo at: http://www.chicagoancestors.org/

For more discussions on ‘The State of Geo spatial in Drupal’ join: Groups.drupal.org/node/12485

9.Amazon module, Amazon associate toolsare some modules that help us use the Amazon APIs

10. For an entire list of Mashups and integrations visit the modules repository for 3rd Party Integration. There are over 300 modules for doing these integrations.

11. A tip for module developers while creating these integrations is to provide as much access to the APIs, even if it does not have helper functions to use the same.

The Lullabots also presented a neat example of a Mashup during the Podcast:

A web page of your twitter updates that are linked to Google maps based on where you are posting the twitter update and also to your flicker under the same location as classification!


I truly enjoyed this Podcast. It was a very current and detailed podcast. Not only did it cover the technical details of Mashups and APIs but also brought in relevant examples and application into it. It brought a perspective as to where Drupal fits in the scenario as well.

Wednesday, September 3, 2008

Szeged 2008 Drupalcon Part I

For those who where not at the Drupalcon, I have tried to list out some of the great sessions and useful resources related to search and Drupal database. For full details visit: http://szeged2008.drupalcon.org/program/sessions

I Solr and Drupal
A presentation by Alexandru Badiu , http://www.voidberg.org

Solr is an enterprise search server based on Lucene. The presentation covers Why use Solr, the different concepts in Solr, searching in Solr, facets, geographical searching and request handlers.

solr-presentation.pdf

A presentation by Robert Douglass

robert-douglass-search_.pdf

How to get involved visit the search group at http://groups.drupal.org/node/4102

II Mysql Backup and security

A presentation by Lenz Grimmer, Sun Microsystems
mysqlBackupSecurity-DrupalCon-2008-08-28.pdf

III High Availability solutions for Mysql

A presentation by Lenz Grimmer, Sun Microsystems
Improved user experience is the need of the day! Watch Lenz address it at the DrupalCon


DrupalCon-MySQL-HA-2008-08-29.pdf

IV Drupal Databases: The Next Generation

This session takes us in to PDO (PHP Data Objects), Multiple database types at once, Improved database portability, Easier driver implementation, Database-specific optimizations, Transactions.

DBTNG_Presentation.pdf

Sunday, August 17, 2008

10 Tips for a Drupal Programmer

1. Use fully functional HTML_CSS files to create Drupal themes. As process have a working CSS then insert the drupal code into it.
2. Use the CMS interface features only when we need to expose an interface for the client or user to update the content.
3. Incorporate custom blocks and Views as part of code – so the code gets logged in the SVN, version control.
4. Test all code and database configurations in the Staging server before moving it to the production.
5. Follow and understand Drupal’s coding standards.
6. Using Drupal's inherent functionalities will automatically take care of many default conventions for a website. We need to be aware of these functionalities and try to understand them so that while programming we only to add to them and do not loose them.
e.g: If you use the image module, by default the alt text gets generated. We could write a custom image template, where we may forgot to add this in!
7. Giving back what we get from the community:
We get a lot from the drupal community, but how many of us give back to the community?! Some easy ways to share our learning with the Drupal community:
7.1 Get yourself a Drupal ID, visit the drupal.org home page atleast once everyday and try to respond to forum questions, just spend 10 minutes doing the same.
7.2. Subscribe for mails from drupal support at http://drupal.org/mailing-lists and try and answer atleast 5 questions a day.
8. Be current with Drupal, read the news posts at
8.1 Drupal.org
8.2 Planet Drupal
8.3 Drupal talk
8.4 Drupal dojo
8.5 Lullabot
9. Become members of drupal groups based on the projects we are working on. The groups give more current updates and happening to a drupal specific topic.
10. Be proud to be a Drupal programmer!

My first Drupal site –Tips for Non-programmers

Introduction to Drupal some must read pages in the Drupal handbook:
1. Getting Started
2. The Drupal Cookbook
3. Must watch A 10 minute Drupal Demo for a small business website

Modules
1. Do not use too many modules
2. Before using a module, check issue queue. See if the module is well supported
3. Some SEO modules:
Pathauto- to rename node/234 as a more meaningful URL
Global Redirect- to redirect node/234 to its pathauto URL, avoid 2 URLs for the same content
Meta tags- to insert meta tags and key words into our site.
Do not use the google analytics module, just insert the javascript into the page.tpl

Themes
1. Choose a good theme, well supported, again
2. Small tweaks like creating a new region in the theme are simple-
just insert region in the phpengine and print the same in a div in your theme
Refer drupal handbook page on Regions in PHPTemplate
3. Remember that you can always insert content at the top and bottom of the content region using blocks, you do not have to create new regions to do the same.

Blocks
You could quickly insert a code in a block to change or fix CSS on a page. This just shows how the content we insert in a block can damage the entire layout of the site. It is always advisable to test the content of a bock in a page before adding them to the main content.

Views
Use header and footer to display links or other information that go along with the view. e.g, a View of recent posts could have a link at the footer to create a new post!

Support – some must dos:
1. Subscribe for mails from drupal support at http://drupal.org/mailing-lists and post support requests to support@drupal.org
2. Use the Forums @ www.drupal.org
3. Use IRC channel for online chat support
4. Use the issue queue of modules for module specific support

Miscellaneous sharings
1. Use Captcha on a live site, until you are confident with your Security for all comments and forms available to a visitor.
2. Never use admin, password as the admin user name and password on a live site.
3. While in production do not allow the google bot to crawl you site, update the robot.txt file in the root directory of your drupal installation to disallow bots.
4. Always test any change in a staging server before updating a live site.

Monday, August 11, 2008

Configuring MySQL - LAMP for Drupal

A Benchmarking exercise for Solr search and Drupal 6 search for a search intensive website is underway. We have encountered many Mysql issues while populating the database and scaling concurrent users.

We have identified and configured most MySql parameters, we are still stuck with the slow query problem.

The Slow Query problem is more prominent in the mixed transaction Scenario. We need to identify which of the transactions is causing this problem and analyze the query.

Some of the unresolved issues in Benchmarking exercise:

- Configuring InnoDb

- Understanding all Mysql parameters

- Cause of slow queries

More about the problems faced at
http://groups.drupal.org/node/13844

Wednesday, August 6, 2008

Understanding Drupal – by the Lullabots



I am great follower of the Lullabot team. I just went right ahead and purchased the video. The Video was a great, the timing perfect. We used the Video on a set of freshers who joined our company. It was our introductory session to the in house Drupal-training.

The content overall covered the aspects of Drupal, what is drupal and how it functions and all associated terminologies.

But for more experienced users of Drupal there was nothing much in it. It would have been nice if as a part of the video one live site was created like in the Aquia video. A little more detail on API, coding guidelines, the folder structure seemed missing. There seemed to be an over emphasis on the terminologies and less on the frame work.

Tuesday, August 5, 2008

Chennai Drupal Meet III

Drupal meet at Chennai Again. To sign up visit: http://groups.drupal.org/node/13686

Discuss agenda at: http://groups.drupal.org/node/13737

Sunday, July 27, 2008

A 10 minute Drupal Demo for a small business website

A real neat demo! I Love Drupal!!

Watch the video and understand -> menus, themes, blocks, views, modules, ubercart store

Video created by Acquia
"Acquia provides commercially supported Drupal distributions, technical support, and value-added network services for Drupal. However, the Drupal project, Drupal.org, and the Drupal Association pre-date and function independently from Acquia. Acquia functions as a member of the community to advance the Drupal technology and promote Drupal adoption. We’re one drop in the Drupal ocean."


Saturday, July 26, 2008

Theming in Drupal 6 - Key Learnings at the Lullabot workshop

Lullabot





1. If we did not define a node.tpl file in our theme:
Druapl6 , the default file is that available in with the node module.
Drupal5, the default file was available with the php-engine

2. All new Preprocessor functions in Drupal 6:
Preprocess functions only apply to theming hooks implemented as templates. The main role of the preprocessor is to setup variables to be placed within the template (.tpl.php) files. – this means that the variables defined with in the Preprocessor functions are available only with in the template files.
Template suggestions can be made in the preprocessor functions, based on available hooks

3. Use the themer info to identify which theme function is associated with a particular content and update the same as in the case of
function mytheme_preprocess_taxonomy_term_page(&$variables) {
}The same hooks are also available from inside these theme functions.

The main Diffference in theming in Drupal 5 vs Drupal 6
In Drupal 5 the theme could be altered using the _phptemplate_variables function. The templates could be altered only from the template.php file. The only way to override the formatting at the module level was to override rendering in the template.php file.
In Durpal 6 since we have the preprocess functions we can access the templates at the module level

Read more at Theme guide (Drupal 6)

Friday, July 25, 2008

Drupal 6 Corporate website Launched

Netlink Technologies LTD, Chennai Launches Drupal 6 corporate website. Visit http://drupal.org/node/287645 to see a short writeup!

Saturday, July 19, 2008

A very successful Chennai Drupal Meet II

The Second Chennai Drupal Meet was a great success. We had Kamalakannan and Antony explain Drupal 6 and Views in Drupal.

The power of open source was such, that we all felt like one while sharing our ideas and experiences in working with Drupal.

Vijay was a big contributor, maintains a large portal mylifetime.com. The site was designed and developed by Lullabot and Vijay is the team lead in Chennai maintaining the site. The insights he shared based on his Drupal experiences were great. Checkout the writeup on mylifetime at the Lullabot site.

Vinodh's enthusiasm for Drupal deserves a special mention! He has introduced Naresh to our Chennai Drupal Group. Naresh is only a fews days in to Drupal but participated actively. He recorded the entire session.

Frédéric is French. He recently met up with Netlink Technologies and was very interested in being a part of the Chennai Drupal Community.

Jovemac has been involved in creating quiet a few Drupal sites. He has been a key person to support and provide encouragement to have a Chennai Drupal meet!

We also had with us Ranjith, Gomathy and Shiva. We were in all 11 of us. Was indeed a great meeting. Thanks everybody for coming to the meeting and making it a great success! Cheers to the Chennai Drupal Community!

Saturday, July 12, 2008

Search and Drupal

Trying to understand the Search functionality of Drupal better. There may be a need to integrate with 3rd party search tools to enable a more efficient search. Stumbled upon Solr Search. The community is extremely active! Had Robert Douglass answering my questions at http://groups.drupal.org/node/13112.

Some other interesting links in Drupal and Solr:
http://people.apache.org/~hossman/apachecon2006us/faceted-searching-with-solr.pdf
http://www.lullabot.com/blog/new-solr-search-module-works
http://robshouse.net/blog-post/fosdem-2008-drupal-apachesolr-module-0

A site using Solr: http://www.netflix.com/BrowseSelection

Chennai Drupal Meet II - Please sign up!

Visit http://groups.drupal.org/node/13072 and Sign up!

Thursday, July 3, 2008

DRUPAL SITE PERFORMANCE

Terminologies

Load balancing
: Is the technique of sharing work load among many resources so no single resource gets over loaded!
e.g DNS Load balancing -is to distribute requests to different servers though resolving the domain name to different IP addresses of servers, Database Load balancing - is to balance database access requests among cluster of database servers, in order to achieve database scalability and high availability

memcached
: High performance, memory-object caching, used in speeding up dynamic web applications by reducing the number of time the database has to be read.

Must reads on Drupal Performance
1. Essential performance tuning for Drupal web sites by Nadeau software consulting -- This article is FAB! Just what we need to do for a drupal site!!
2. Drupal performance by Dries Buytaert
3. Scaling with MySQL replication
4. Optimizing Apache and PHP
5. Server tuning Consideration - from Drupal Handbook

Wednesday, July 2, 2008

Chennai Drupal Meet II

We are meeting again, this time with an Agenda. Please visit:http://groups.drupal.org/node/12877 and post your agenda.

Saturday, June 21, 2008

Chennai Drupal Meet - My experience at the Lullabot workshop

Lullabot
To meet all co-drupalers in Chennai was a great experience and very exciting! I shared a brief of my experiences at the Lullabot workshop at Minniapolis.

My experience at the Lullabot workshop (my ppt in text format!)

Lullabot Workshop

Drupal 6

  • Increased
  • Performance (every version of Drupal, takes care of performance aspects in the architecture)
  • Security
  • Theming made simpler
  • Form API is more versatile, with multi step forms and AAHA integration and support
  • Database (people working on oracle integration, architecture has the database handled separately)
  • Devel module! (Firebug -à real cool stuff)
  • More drag and drop, AJAX features in the user interface.
  • A site which is going to be launched in 3 months stick with Drupal 6, CCK Views not ready yet! (Views integration)

Theming in Drupal 6 vs Drupal 5

  • In Drupal 5 the theme could be altered using the _phptemplate_variables function. The templates could be altered only from the template.php file. The only way to override the formatting at the module level was to override rendering in the template.php file.
  • In Durpal 6 since we have the preprocess functions we can access the templates at the module level!!

Lullabot Team

  • Most Helpful
  • Consulting - Help Architect a site in Drupal
  • Team working on different aspects of Drupal
  • Core
  • Form API
  • Theming
  • J-query and Ahah
  • Ahah - Asynchronous HTML and HTTP,
  • Security
  • Documentation and Training
  • Provide Training material
  • Screen casts/ Videos or Articles
  • Podcasts

A Drupal Project

  • Theming to done as a wire frame
  • Photo shop file
  • Drupal team to decide how the regions are going to be designed
  • Create a markup file in HTML
  • Then hand the mark up file to the Drupal team
  • New features not available to be modules
  • Modules back in Open Source for others to use
  • On completion of Project, the client must be able to maintain the same easily – Importance of Usability improvements in Drupal 6, admin interface has drag and drop/ AJAX features
  • Working with Open source
  • We must not look at proprietary code!
  • Put the code back into the community
  • The community help is fixing bugs
  • Improved features
  • You have a whole lot of new ideas

Acquia

  • Acquia = Drupal as Redhat = Linux
  • The founder is the Dries Buytaert, the original creator and project lead of the Drupal open source web content management system
  • A new software company that will provide value-added software products and services for the Drupal social publishing system
  • Carbon - commercially supported distribution of Drupal 6
  • Spokes - update notification service for the Carbon distribution
  • Caliper - spam-blocking and content monitoring network service
  • Yellow Jersey provides training and certification program

Sony

  • A big company that uses Drupal: http://www.myplay.com
  • A team of about 25 developers
  • Involved in creating custom module(that they role back into the system Drupal)
  • Working on upgradation and maintenance

What the workshop gave me?

  • How they work?
  • Professional
  • Organized
  • Friendly
  • Inspiring!!
  • The power of Open Source

Search This Blog

Chennai Drupal Community

drupal.org - Community plumbing

Shyamala's Drupal SEO