The Zile
Ancient Egyptians relied on the Nile River to explore the greatness of the Sahara Desert, gathering into communities along the Nile valley and developing advanced societies. The
Zile is a means for modern-day programmers to study the many features of Zero; it is like a river flowing into desert, attracting new people and fostering new communities. It is a place where conversations start and collaborations blossom.
The Zile is a set of components built with Project Zero. It is focused on collaboration, social networking, and "light" business transactions; communities that could be built using Zile include campus exchange sites, local church web sites, or and professional association sites. Members of the community can create profiles, create contact lists, set up personal web pages, and maintain to-do lists, calendars, photo albums, and blogs.
The most important goal of this project is to validate Zero as a platform for REST and situational applications. A secondary goal is to provide the Zero community with a significant sample to use and extend.
The Zile Components
The services and widgets below make up the building blocks of The Zile. Some of these components may become official Zero components, depending on how reusable they are (so send us your feedback!). Each component summary includes a link to its design page.
Login?
This component is a Dojo widget that works with Zero security to provide user authentication interface.
SelectiveDatePicker?
This is a subclass of the Dojo DatePicker to provide arbitrary selectable dates corresponding to the available content.
Profile?
Profiles are the central elements of collaboration. They represent the identifiable individuals in the community with attributes that are conducive to social networking such as credentials, areas of expertise, organization, professional publications (blogs, articles, etc), and group affiliations.
Blog?
Blogging is one of the key features of community; it enables users to collaborate via self-publishing, cross referencing, and commenting (on other's blogs) to enrich personal profile and improving one's online presence. The Zile Blog component will include an integrated tagging capability.
Tagging?
This component provides both UI and backend implementation to support tagging capability.
File Sharing?
Using the file upload pattern, this component provides UI and storage to upload and share files with other members.
Todo List?
This component can be used to manage required tasks for a simple project or a small deliverable. A user may add a todo item to a todo list with priority, due date, etc and assign it to another user or group.
Photo Album?
The photo album is a simple way to manage and share photos. It combines the blog, file sharing, and tagging services to offer an album-like view of a user's online photos.
Bulletin Board?
The bulletin board is a place where users can take part in "light" transactions, or transactions where the actual exchange takes place off-line. Members may post items to sell, buy, or trade, and answer questions on the same.
Ratings and Reviews?
This component provides both UI and backend implementation to support the creation of ratings and reviews of arbitrary things.
The Community Application?
The Zile Community is a Zero application that combines all of the Zile services and widgets to offer a place for collaboration and networking.
- Running Zile In Eclipse?
- Running Zile In CLI?
Testing Zile Components
The Zile test suite (zile.test) includes basic unit tests and data that can be used to exercise the Zile components. This code also illustrates how your own applications can interact with the Zile components to build more complex features. The Java code under /zile.test/java shows the use of an HTTP client to communicate with the RESTful resources defined in the Zile components.
Additionally, the Ant script in the Zile community application has a task to create the Zile database, populate it with test data, and copy over all of the test files needed to run the application right away. Just open the zile.community project and run
ant from the command line, or right-click and select
Run As > Ant build from Eclipse. You can then view the application in your browser by pinging
http://localhost:8080.
Zile User Interactions
- Application Interaction? This is a draft of the major interactions that will occur using Zile.
-- binhn - 06 Sep 2007