Skip to content

tobiasBora/phluor_tools

Folders and files

NameName
Last commit message
Last commit date
Oct 2, 2015
Oct 11, 2015
Feb 24, 2015
May 26, 2014
Oct 11, 2015
May 26, 2014
Sep 18, 2014
Sep 22, 2015
Oct 11, 2015
Oct 11, 2015
May 26, 2014
Sep 22, 2015
May 23, 2015
Oct 11, 2015

Repository files navigation

What is Phluor ?

Phluor is a project which wants to make easier the creation of a website based on different modules (“bricks”) working together. You can find a presentation video here: https://www.youtube.com/watch?v=kcnikpOa8ng. (I’m sorry, it’s a bad quality video, and in french, but I will publish an english version soon, and I’m trying to see how to get a better quality)

The philosophy

Phluor is mainly based on these bricks. The idea is to have a modular system : a brick must be easy to create, each brick can use others bricks or Ocaml modules as dependancies to work. A brick must be really easy to install: running a simple command should be enough to install and configure it.

Moreover I’m sure that the documentation is one of the main point of a project, so each brick should have a good documentation and should be easy to use.

What can I do with Phluor right now ?

For the moment the base skeletton works. Specifically, here are the working functions :

  • Compilation of several libraries in server and client part
  • Libraries can have dependances with other libraries
  • The dependances are auto-detected with an automatic recursive dependance search
  • All the libraries needed are included (in the right order) in the configuration file which is used by ocsigenserver
  • Each library can have a static folder where it can put pictures, files…
  • Each library has a part (especially used by service definition) which is build before others libraries and can be include in them very easily. It’s usually usefull to provide links (services) to others libraries
  • The server configuration file is autogenerate and can be configurated from every brick. Moreover each library can write in this file where it want with a powerful system of anchor (see doc for more details)
  • The server can be launch at the end of the compilation or when you want with a simple command
  • Each brick can be configurated by modifying a simple file

If you want more details please read the doc in the doc folder, especially doc/00_Quickstart.org.

I like that, where could I learn how to use it ?

Just go in the doc folder, there is lot’s of documentation (It’s easier to read them with org-mode enabled (emacs), but you can read them with any text editor).

Here is the naming convention of the documentation :

- 0xx -> Doc for a classic user
-- 00x -> Basic things to know
-- 01x -> Things related with the use of bricks
- 1xx -> Doc for programmers

What should be done now ?

Here are some ideas or small tasks to do to improve this program :

In the phluor_basic templace

  • Auto-copy config files in config/… AND KEEP THE OLD CONF
  • Write interface files for readability (.mli)
  • Give the possibility to “pack” the modules in a brick in one module in order to avoid colision between several brick names. (play with the -pack/-for-pack option ?)
  • Documentation (options during qdico parsing + update some parts)
  • Find an easy and powerfull way to use translation in a website (for example with gettext, but I think an other way should be use for client part)
  • Deal with database (in the ideal a general bricks which could choose several database backend, and there should exists a way to create/update a local database for small configuration, such as a local postgresql one)
  • Create a brick which deals with pathnames : it must be possible to upload files in the persistant folder www/static/var/<brick name>/ (which is a symlink to var/) easily

Brick idea :

  • Database + translation brick
  • A Lorem Ipsum brick, giving an easy access to long texts (client and server part)
  • Editor : could be used by other bricks to display some advanced editor such as Tinymce, elRTE, textarea with an help option…
  • A blog brick (maybe the translation/database problem should be solve first)
  • A wiki brick (same as above)
  • A website brick (same as above)
  • A forum brick (same as above)

In phluor_tools

  • Add a way to add some bricks from the internet or archives (Github, tar.gz for example)
  • Check that Ocaml libs are installed, and why not linux programs (API findlib : http://projects.camlcity.org/projects/dl/findlib-1.5.2/doc/ref-html/c1040.html)
  • Add a way to remove a brick –> Remove conf, brick code and in bricks_depends.txt
  • Add a way to easily package a brick –> The structure is quite easy to package by hand, it should be hard
  • Documentation

I want to help !

For the moment I’m the only one in this project, so if you want to join me it would be a pleasure. I’m an auto-didacte so I may do some things with a bad methods but I try to be as clean and proper as possible. If you want to join the project, you can contact me from github, on IRC (tobiasBora, often on #ocsigen, #ocaml…), or with my email : tobias . bora <at> gmail . com

About

A framework to organise a website based on ocsigen (Ocaml)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published