Skip to content

kberov/MYDLjE

Repository files navigation

MYDLjE - Web-presence rewritten

VERSION

01.10.18b4

DESCRIPTION

NOTE: MYDLjE is no longer in active devellopment.There is a successor of this project named Ado.

Ado is already usable and on CPAN - see Ado. The code repository is here https://github.com/kberov/Ado. Ado is much more modular and flexible than MYDLjE ant its name even means something :).

MYDLjE (pronounced [maidalji]/[майдълджи]) is a lightweight Web-Applications and Content Management Framework. It is a collection of Perl, JavaScript, CSS and HTML5 code to make a General Purpose Platform for building Web-Applications. We build on top of several "State Of the Art" open-source software projects to make a powerful platform for starting business online.

The framework name is an acronym. It stands for: Mojolicious, YAML, DBI*, Locale::Maketext, jQuery, Elastic CSS which are the main building blocks. Template::Alloy is chosen as view system. SILK & FLAG ICONS are used too.

APPLICATIONS

MYDLjE comes with three bundled web-applications around and on top of which you (the developer) can build even more powerful domain specific applications. The applications are based on Mojolicious, so if you (the developer) know how it works, please feel at home! The applications are intended to be easy to use (intuitive) for the average computer-literate user, so an administrator is not needed all the time :).

CONTROL PANEL (cpanel)

This application is for managing your online presence. You (the business owner) access and manage your users, customers, domains, pages, content, applications etc. Only trusted people (back-end users) should be allowed to use it.

MYDLjE (mydlje)

This is a bare-bones application. It is used as the base for the other two applications and for setting up the system for the first time when you (the administrator) deploy it.

SITE (site)

This is your front-end application intended for the public. Build a site or a custom application to be used by your community and/or customers. Build whatever you want on top of and around it or call me to build it for you.

MINIMAL REQUIREMENTS

  • Perl 5.10.1 or next;

  • Web Server (Choose your preferred combination!)

    • Apache2 with mod_cgi (standard) or (better/faster)mod_fcgi/mod_fastcgi;

      This is the most tested environment targeted by MYDLjE.

    • nginx/0.8 or next with Starman or Hypnotoad;

      See example configurations in $MYDLjE_HOME/conf/nginx*.conf and application starters in $MYDLjE_HOME/perl/bin.

    • Any known Mojolicious deployment scheme.

      Any Mojolicious deployment scheme mentioned in the "Deployment" section on https://github.com/kraih/mojo/wiki should work since MYDLjE is a set of Mojolicious applications that work together well.

  • MySQL >=5.0 server, provided by almost every shared hosting;

  • DBI, DBD::mysql, and GD Perl Modules.

Almost all (even the cheapest) hosting providers meet the minimal system requirements. To make sure, send the above-mentioned list to your (potential) hosting provider and ask them if they meet the requirements below. The setup screen also checks for the requirements. The system runs under mod_cgi by default, but can be switched in seconds to run under mod_fastcgi (or mod_fcgi) if available. See the .htaccess file in the project root directory.

INSTALLATION (Apache)

1 Unpack the bundle in a directory visible by Apache.
2 Create a database and user using the example found in conf/mysql.schema.sql or use a tool like (PHPMyAdmin) provided by your hosting provider. Grant all priviledges of the database to the user.
3 Unix only: Make sure the files site, mydlje and cpanel in $MYDLjE_HOME are executable.
4 Make sure the server can write in folders tmp, log, conf and pub/home in $MYDLjE_HOME.
5 Use your browser to access http://yourdomain.com/index.xhtml or setup via commandline - see "INSTALLATION (via command line)".
6 Check the system and troubleshoot :) if needed. Look at the apache error-log and log/development.log.
7 Fill in the "System Configuration" form. You are ready to go.
8 Enjoy your new site and start building your presence.

INSTALLATION (via command line)

1 Unpack the bundle in a directory visible by Apache.
2 Create a database and user using the example found in conf/mysql.schema.sql or use a tool like "mysql". Grant all priviledges of the database to the user.
3 Unix only: Make sure the files site, mydlje and cpanel in $MYDLjE_HOME are executable.
4 Make sure the server can write in folders tmp, log, conf and pub/home in $MYDLjE_HOME.
5 Open a terminal and go to the MYDLjE root directory:
you@yourcomputer:/pat/to/MYDLjE$ ./mydlje help SystemSetup

ROADMAP

Below is the list of things to do. This is a general list, so look at https://github.com/kberov/MYDLjE/issues for the specific tasks. It is possible to work on several issues at the same time so feel your self invited to help. Write me a message and we can define together a specific enough task.

  • Implement the base system. Bundle required libraries and write enough tests to be sure the things work together well (done).

  • Implement the MYDLjE initial setup/install (done).

  • Implement the "Control Panel" application (in progress):

    • Implement the Domains Management controllers (done);

    • Implement the Pages Management controllers (done);

    • Implement the Content Management controllers (mostly done);

    • Implement Applications/Plugins Management controllers (later);

    • Implement the Configuration Management controller (later);

    • Implement the Users/Groups Management controllers (later);

  • Implement the "Site" application:

    • Implement the base "Site" application (done);

    • Implement the "Registration" Site plugin (later);

    • Implement the "Login" Site plugin(with Oauth2 and/or OpenID) (later);

    • Implement the "Profile" Site plugin (later);

    • Implement the "Q&A" Site plugin (later);

LICENSES and COPYRIGHT

This is a package of libraries written by many authors. Krasimir Berov bundled them together and wrote the domain specific parts to form something that works as one. The code written by K. Berov is licenced under the LGPLv3. The other works are licenced under various Open Source Licences that allow redistribution and modifications. See: http://www.perlfoundation.org/artistic_license_2_0, http://www.gnu.org/licenses/lgpl-3.0.txt

How to understand: http://www.perlfoundation.org/artistic_2_0_notes

Copyright (C) 2008-2011, Krasimir Berov

CREDITS

I wish to thank to all who made something that I use to make MYDLjE works. If you think your name should be listed here, please notify me.

-----------------------