Title: Oleg%20Burlaca
1Tying NeoSite CMS and server side services
- Oleg Burlaca
- Institute of Mathematics and Computer Science
cms.neonet.md
2Agenda
- NeoSite intro
- Defining the problem
- Action Event mechanism
- Server side implementation
- Conclusions
cms.neonet.md
3CMS Definition
Software that enables one to add and/or
manipulate content on a Web site.
Webopedia.com
CMS Purpose
Enhanced integration and automatization of
processes that contribute to efficient
dissemination of information on the Internet
4cms.neonet.md
NeoSite
Toolbars defined in XML docs
Search Panel
Content Tree
Monitoring Error logs
Search Results
Template Tree
Opened entities and tasks
FTP Activity
HTTP Activity
5The problem
How to endow the client application with unique,
project specific facilities without modifying it ?
Erroneous guess
Trying to incorporate wise and rich
functionality that will cover all possible
issues will give us a very sophisticated, yet
powerful solution, that will collapse under its
own weight over time.
6Suggestion
Separate common and unique features, and provide
means for connecting them.
Adjusting the Problem Statement
How to build a lightweight, generic client
application that acts as a framework that ensures
easy integration of custom functionality ?
The Solution
Integrate an Event-Driven Framework into client
application.
7Entity types
Project specific entity types
Content Tree
Entity type definition (XML document)
8Entity events
lteventsgt ltOnCreategt lte type"sql"gt
INSERT INTO site_en_related
VALUES (id, 444, 10, 1) lt/egt lte
type"http"gt ltparamsgt
lturlgt http//neonet.md/cgi/build.cgi lt/urlgt
ltprmsgt idid lt/prmsgt
lturgentgt 0 lt/urgentgt ltmethodgt get
lt/methodgt lt/paramsgt lt/egt
lt/OnCreategt ltOnCloseAfterCreate ... gt
ltOnOpen ... gt ltOnRelateNode ... gt lt/eventsgt
9Task automation
behind the scenes activity
Before
send item content to search engine
edit item
save item
After
10Server-side logic
get the folder for uploading
Client
Server
OnGetUploadDir
apache handler
User want to add a file to a node
http//neonet.md/ftp/get_upload_dir/? id106
Process Template ftp/get_upload_dir
'lt!--BEGIN--gt' IF (crumb.0 'elections' and
crumb.size gt 3) '/i/elections/' _
crumb.slice(1, 2).join('') _ '/' ELSE '/i/'
_ crumb.join('/') _ '/' END 'lt!--END--gt'
FTP plugin uploads the file in specified folder
/i/elections/docs/node_filename
11Future work
The desktop application should become a thin
client, by transfering the logic to the
server-side.
Enhance NeoSites integration capabilites.
12Conclusions
Applications can no longer exist as standalone
entities, but instead must share information with
other information systems.
Open standards and application integration are a
logical fit since open standards aid in solving
the application integration problem, accounting
for the differences in formats and interfaces
through common mechanisms that everyone can
understand.
cms.neonet.md
More about NeoSite