.. _overview: ============== What is Maymyo ============== Maymyo, named after a `Myanmarese hill station `_, is a `Django `_ application providing basic infrastructural services for enterprise applications. You can build your own Django application that focuses on your particular industry vertical quicker by using Maymyo to deliver a complete enterprise application. These infrastructural services are generic to most enterprise applications :- * :ref:`Supporting enterprises with a multi-Business Unit hierachical organisation ` * :ref:`Application Security and Access Control ` * :ref:`Calendar and business day computations ` * :ref:`Auditing of changes to Models ` * :ref:`Automatic Filtering of accessible rows by Users ` * :ref:`Messaging and Alerts ` with optional email or sms delivery * :ref:`Generate Reminders with optional escalation (to superiors) ` based on Model state over time * :ref:`General purpose dynamic formulas, conditions, cursors, filters and choices ` * :ref:`Background Task Queue for tasks and reports ` * :ref:`Job definition and scheduling with business day semantics ` * :ref:`Automatic Output spooling to printers and archiving of spool files ` * :ref:`Automatic periodic archiving and purging of your Models ` * :ref:`Designer defined Application Events and its delivery ` * Designer defined Transaction Selection with Business Rule authorisation * Workflow engine for your Document approvals * Reporting Engines to execute Text or JasperReport reports * Option to use JasperServer as a standalone reporting server * Charge Computation Engine * Billing Module Who it is for ------------- Maymyo will be useful to experienced Django developers building applications for enterprises. These are internal applications not meant for the public. So if you are looking for tools to build the next billion dollar social application, keep looking. We are targeting tens to hundreds on users, not millions. However, you can still allow your customers access to self-service applications provided by your organisation. We would like to encourage developers working within organisations to use Maymyo for their internal projects. We believe that the features of Maymyo would both help you complete your project faster and with less risk. If you are new to Django, do not despair. You will be proficient in no time by going through Django's tutorial in their excellent `documentation `_. Licence ------- Similar to Django, Maymyo is licensed under `Berkeley Software Distribution (BSD) `_. What this means is you can develop your application using Maymyo and distribute your product under closed or open source licence. Software redistributed by Maymyo -------------------------------- We would like to acknowledge the contributions of the authors of the following software for making Maymyo possible :- * `Dojo `_, version 1.6.1, BSD Licence * `jQuery `_, MIT Licence * `Dojango `_, version 0.5.2, BSD Licence * `Django Piston `_, version 0.2.2.1, BSD Licence * `Oxygen icons `_, for their well polished icons, Creative Common Licence * django, dojo or python snippets "borrowed" from the following :- * ``YC Loh``, who shared code from his Django project with us * `Erdem Agaoglu `_, web services client to JasperServer, Apache Licence * `Daniel Roseman `_, Multi-Select, Django snippet * `Michael Halle `_, build query from a nested list, Django snippet * `Louis Riviere `_, Windows Services helper, an ActiveState Recipe * `Dan Fairs `_, for trick to get parent object for inlines * `Paul Rogalinski `_, unclosable dijit Dialog * `Chris Hardin `_, Dojo idle timeout * Apologies to anyone we have inadvertently omitted. Please let us know. Steps to take ------------- Briefy, these are the steps to take to quickly start using Maymyo :- * :ref:`Install Maymyo ` (and its pre-requisites) * install python, django plus a few required packages * install a database and its required python driver. * install Maymyo * install a Java Runtime Environment (to run JasperReport reports) and jaspercommand (jar files to run JasperReport on the command line). You can defer this until you want to run JasperReport reports * auto-start Maymyo daemons in the Operating System You can defer this, just start the daemons manually * Create your own application using Maymyo * design your application's models * design and develop your programs and reports * your models and programs should make use of the services provided by Maymyo. * add your programs and reports to Maymyo * Add your application's menu(s) under Maymyo * menu items are your menus, programs and reports * Add your own user groups and users to access your application * Create your own Commands for application's house-keeping tasks * create a Job (with Steps and Tasks) that run your Commands and Reports * automate the Job execution using Maymyo's Scheduler The above will allow your application to be accessed by your users through Maymyo's dashboard and automate its housekeeping Jobs. You can :ref:`get started ` right away, after you have :ref:`installed Maymyo `. There are, of course, more things you can do with Maymyo. Please have a look at :ref:`explore and understand Maymyo `, for more in depth ways of using it.