Code Monkey home page Code Monkey logo

journlercore's Introduction

http://developer.getsprouted.com/downloads/ [email protected]

Only use this code if you are currently running the latest version of Journler, v2.5.5. Be sure to back up your journal beforehand!

The JournlerCore project is divided into two sections: i. The JournlerCore framework itself ii. An application demonstrating its use, called JournlerCore Demonstration

Notice that both the framework and the application are linked against the SproutedUtilities and SproutedInterface frameworks. JournlerCore depends on these frameworks, but the Sprouted frameworks are not copied directly into JournlerCore. They are copied into the application along with the JournlerCore framework. This mirrors the setup in Journler itself.

JournlerCore is composed of three parts: i. The Model ii. Searching and Lexicon iii. Utilities

The model manages the Journler data. Searching and Lexicon provide an API to higher levels which would like to search the data. Utilities include categories and some file watching utilities. The latter should probably be moved outside the core into the application level.

Journler itself is divided into three layers, each layer depending on the previous: i. JournlerCore ii. JournlerInterface iii. Application Code

What you are seeing here is the JournlerCore. The JournlerInterface is the next level up and provides most of the user interface to the data. Application code handles application specific details such as the interface to preferences, the drop box and so on.


The code is a mess. In places it is poorly structured. It is poorly documented. It is at times not obvious why some functions must be called or what the relationship between methods is. In some cases it is necessary to call methods in a particular order or in particular groupings, but it is not indicated when.

Ultimately I would like all that changed. The goal is to produce a well documented, well structured, intuitive framework that 3rd party developers will be able to use to extend Journler's functionality. In fact developers could already begin extending Journler. This code provides complete access to a user's journal, folders (collections), entries, resources -- everything. Using this framework a developer could write a web interface to a user's journal or develop an iPhone application.

Feel free to fool around with the code. I would recommend that you test your own projects on a copy of your journal. Keep your original data safe! If you believe you have made or can make improvements to the code, I would love to see them. I have set up a separate email address for developer related inquiries. You can contact me at [email protected].

Be sure not to make changes to your journal data while Journler is running. Notifications are not passed between instances of the framework and your data will end up out of sync.


More extensive documentation is forthcoming, following the doxygen format. I also plan to extend the demonstration's functionality in order to better indicate how 3rd party developers can take advantage of the framework.

journlercore's People

Contributors

greay avatar

Stargazers

Knox Harrington avatar  avatar

Watchers

 avatar James Cloos avatar Paolo Pavan avatar

Forkers

wmsrite

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.