We think it is only appropriate that an open source project should share as much as possible with its community. With this in mind today’s post will be discussing some architecture issues in the design of the wopsta.org plug-in. Although our community is still small we hope that this post will inspire and inform; and as ever we encourage you all to make suggestion in the comments below.
Fundamental Components
We have decided to seperate the tracking of requests and the generation of statistics in two modules. Both will share an initialization within the plugin and a common data model / configuration that defines the various types of requests, visitors, visits, etc.
Beneath these two components the data model will hook into the wordpress API to gather contextual information, for example by adding the name a visitor has used while writing a comment to the visitor’s model in the wopsta.org plug-in.
Tracking
All requests made through HTTP are tracked. As expected, this leaves an abundant amount of information that requires processing with our rules engine. For example we’ll use of the “user agent” field to identify whether the request is a human or a bot. Other rules that our engine includes:
- Which browser is used by a visitor?
- Which searchengines and search phrases were used by a visitor?
- Were there crawlers visiting the blog?
To identify returning visitors we intend to use cookies only.
Statistics
To provide flexibility the Ext JS component library extensive set of panels will feature heavily within a centralized customizable dashboard, further pages such as visitors,traffic sources and contents will be used as default homes for these components. The dashboard shall furthermore have a fixed general panel, displaying key statistics, Ext JS library also provides a chart library to further enhance the visitations.
Any comments are appreciated!
