MYDLjE
MYDLjE copied to clipboard
Web-presence rewritten
=pod
=encoding utf8
=head1 MYDLjE - Web-presence rewritten
=head1 VERSION
01.10.18b4
=head1 DESCRIPTION
B<NOTE: MYDLjE is no longer in active devellopment.There is a successor of this project named L<Ado|https://github.com/kberov/Ado>.>
Ado is already usable and on CPAN - see L<Ado|https://metacpan.org/release/Ado>. The code repository is here Lhttps://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 I<"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: B<Mojolicious, YAML, DBI*, Locale::Maketext, jQuery, Elastic CSS> which are the main building blocks. BTemplate::Alloy is chosen as view system. B<SILK & FLAG ICONS> are used too.
=head1 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 L<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 :).
=head2 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.
=head2 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.
=head2 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.
=head1 MINIMAL REQUIREMENTS
=over
=item * Perl 5.10.1 or next;
=item * Web Server (Choose your preferred combination!)
=over
=item * Apache2 with mod_cgi (standard) or (better/faster)mod_fcgi/mod_fastcgi;
This is the most tested environment targeted by MYDLjE.
=item * 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.
=item * Any known Mojolicious deployment scheme.
Any Mojolicious deployment scheme mentioned in the "Deployment" section on Lhttps://github.com/kraih/mojo/wiki should work since MYDLjE is a set of Mojolicious applications that work together well.
=back
=item * MySQL >=5.0 server, provided by almost every shared hosting;
=item * C<DBI>, CDBD::mysql, and C<GD> Perl Modules.
=back
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 I<.htaccess> file in the project root directory.
=head1 INSTALLATION (Apache)
=over
=item 1 Unpack the bundle in a directory visible by Apache.
=item 2 Create a database and user using the example found in I<conf/mysql.schema.sql> or use a tool like (PHPMyAdmin) provided by your hosting provider. Grant all priviledges of the database to the user.
=item 3 Unix only: Make sure the files C
=item 4 Make sure the server can write in folders C
=item 5 Use your browser to access Bhttp://yourdomain.com/index.xhtml or setup via commandline - see B<"INSTALLATION (via command line)">.
=item 6 Check the system and troubleshoot :) if needed. Look at the apache error-log and log/development.log.
=item 7 Fill in the "System Configuration" form. You are ready to go.
=item 8 Enjoy your new site and start building your presence.
=back
=head1 INSTALLATION (via command line)
=over
=item 1 Unpack the bundle in a directory visible by Apache.
=item 2 Create a database and user using the example found in I<conf/mysql.schema.sql> or use a tool like "mysql". Grant all priviledges of the database to the user.
=item 3 Unix only: Make sure the files C
=item 4 Make sure the server can write in folders C
=item 5 Open a terminal and go to the MYDLjE root directory:
you@yourcomputer:/pat/to/MYDLjE$ ./mydlje help SystemSetup
=back
=head1 ROADMAP
Below is the list of things to do. This is a general list, so look at Lhttps://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.
=over
=item * Implement the base system. Bundle required libraries and write enough tests to be sure the things work together well (done).
=item * Implement the MYDLjE initial setup/install (done).
=item * Implement the "Control Panel" application (in progress):
=over
=item * Implement the Domains Management controllers (done);
=item * Implement the Pages Management controllers (done);
=item * Implement the Content Management controllers (mostly done);
=item * Implement Applications/Plugins Management controllers (later);
=item * Implement the Configuration Management controller (later);
=item * Implement the Users/Groups Management controllers (later);
=back
=item * Implement the "Site" application:
=over
=item * Implement the base "Site" application (done);
=item * Implement the "Registration" Site plugin (later);
=item * Implement the "Login" Site plugin(with Oauth2 and/or OpenID) (later);
=item * Implement the "Profile" Site plugin (later);
=item * Implement the "Q&A" Site plugin (later);
=back
=back
=head1 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
=head1 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.
=over
=item * Larry Wall conceived Perl - http://www.perl.org/. Thank You!
=item * Sebastian Riedel makes Mojolicious - http://mojolicio.us/perldoc?Mojolicious . Thank You!
=item * YAML thanks to Oren Ben-Kiki, Clark Evans, Ingy döt Net - http://yaml.org/. Thank you all!
=item * Adam Kennedy makes YAML::Tiny - http://search.cpan.org/dist/YAML-Tiny/. Thank you!
=item * Paul Seamons makes Template::Alloy - http://search.cpan.org/dist/Template-Alloy/. Thank You!
=item * John Resig conceived jQuery - http://jquery.org/. Thank You!
=item * jQuery User Interface Team makes jQuery UI - http://jqueryui.com/about . Thank You!
=item * Sean M. Burke conceived Locale::Maketext - http://search.cpan.org/dist/Locale-Maketext/. Thank You!
=item * Mark James made SILK & FLAG ICONS - http://www.famfamfam.com/lab/icons/silk/. Thank You!
=item * Fernando Trasvia conceived Elastic CSS - http://elasticss.com/suggestions/. Thank You!
=item * Alexander Nalivayko - for giving feedback and helping hand. https://github.com/nal. Thank You!
=back
=cut