Hybrid View

  1. #1
    Ext User
    Join Date
    Sep 2008
    Location
    Munich
    Posts
    16
    Vote Rating
    1
    roemisch is on a distinguished road

      0  

    Thumbs up ERP system for parents association with Ruby on Rails / Ext JS (Demo !)

    ERP system for parents association with Ruby on Rails / Ext JS (Demo !)


    I have developed a ERP system in Ruby on Rails and Ext JS. Every customer has its own "client" (many customers working on the same system - but totally separated data). This way it works perfectly as an ASP solution !
    Check it out on a demo "client" in English, German or Spanish!
    Until now the following modules are developed:
    • Management of the "client": users, user groups with permission roles, temporary holiday replacements to work in the role of another user, email settings, client specific standard settings (to change the GUI, allow self registration of users, ...)
    • Course management (e.g. for companies offering any kind of courses or for parents associations which have to manage parents and children by schoolyear) with additional features like trainer management, send and receive emails, automatic mass emailing (with prepared standard email templates e.g. for confirmation or rejection of course rservations), generation of invoices (incl. controlling and account informations for import into a accounting system), RSS news feed, PDF and CSV reports, ...
    • Starting also small CRM module...
    • An extensive online help describes everything in detail
    Technical core features are:
    • Usable as ASP solution (SaaS)
    • Multiple "business components" - that means various application-modules can be registered in a client
    • Multi language & multi timezone
    • Multi channel architecture (includes support for mobile devices)
    • Purely webbased RESTful WOA
    • Client-Capability (many customers can work in parallel on the same system - like e.g. in SAP)
    • Finegrained roles & rights concept (Access Control Lists for functional rights and object rights)
    • Flexible and powerful user handling with usergroups and e.g. holiday replacement
    • Easy & quick deployment possible by virtualized server environment (all installed within a virtual machine)
    • Sending of emails directly out of the application (each client with its own email settings) and for each client the email templates can even be customized individually by the user (via HTML and "Liquid")
    • CSV export of all tables, PDF printing of some reports
    • All Ext 2.2 themes I have found are implemented (see theme button on right side of menu bar)
    Ext-JS was a great help to make a user friendly and intuitive system that does not require very much training in order to use it.

    The homepage of the application is www.ev-manager.com. Its not very nice, but gives some more information.
    From there a link to the "Demo client" is given to try it out. The direct link to the demo system is www.ev-manager.com/demo/login .
    The demo user is "demo_en" for the English version. There is also available a German (demo_de) and a Spanish (demo_es) demo user. Password is always "demo123".
    Attached Images

  2. #2
    Ext JS Premium Member dj's Avatar
    Join Date
    Mar 2007
    Location
    Germany
    Posts
    573
    Vote Rating
    2
    dj has a spectacular aura about dj has a spectacular aura about dj has a spectacular aura about

      0  

    Default


    Nice application!

    Seams that you have forgotten to provide the username and password with the direct link:
    http://www.ev-manager.com/?mid=demo&gloc_lang=en
    User: demo_en
    Password: demo123

    Some things that catched my attention while briefly browsing through this application:
    • PDF export does not work (nothing happens when clicking a menu option that obviously should generate a PDF report)
    • CSV&Excel export as data-uri is a nice client-side-only solution but does not work with IE < 8
    • On grid pages like PA-Administration -> Parents the scrollbar should scroll the grid contents (fit-layout)
    • Sometimes there are multiple scrollbars next to each other - that's confusing.
    • Some dialogs require a really big screen to fit on the page. On my 1440x900 resolution they get truncated. Consider using a layout (hbox/vbox with flex-option for example) that adapts to different dialog sizes.


    PS: I'm using Safari 3.2 on Mac OS X
    Daniel Jagszent
    dɐɳiel@ʝɐgszeɳt.de <- convert to plain ASCII to get my email address

  3. #3
    Ext User
    Join Date
    Sep 2008
    Location
    Munich
    Posts
    16
    Vote Rating
    1
    roemisch is on a distinguished road

      0  

    Default Thank you Daniel for the feedback !

    Thank you Daniel for the feedback !


    Opening the pdf reports and CSV files directly from the menutree or menubar in a new window only works in Firefox - for unknown reasons I cannot get it working it for IE (via toolbar bottons it works in some other cases where pdf is generated or CSV files). Seems to be the same problem in Safari - according to your feedback.
    CSV export always works as it is sent as a file from the server, meanwhile Excel export is created via Javascript on the browserside (and only shows the records in a table that are loaded into the datastore at this moment - the tooltip on the buttons also describes that) and works as you said not before IE8. In Firefox it works already.

    The biggest problem for me is the adaption to the screen resolution - I do not know how to do that.
    Does someone have an idea on how to do that ?

  4. #4
    Ext JS Premium Member dj's Avatar
    Join Date
    Mar 2007
    Location
    Germany
    Posts
    573
    Vote Rating
    2
    dj has a spectacular aura about dj has a spectacular aura about dj has a spectacular aura about

      0  

    Default


    I use the all-new vbox/hbox layouts of Ext 3.0 for that. Have you seen the RowLayout of http://extjs.com/deploy/dev/examples...t-browser.html (Custom layouts)? You will probably end up using multiple nested layouts (e.g. an outer RowLayout and ColumnLayouts in the individual rows)
    A BorderLayout is also an option for some layouts.
    Daniel Jagszent
    dɐɳiel@ʝɐgszeɳt.de <- convert to plain ASCII to get my email address

  5. #5
    Ext User
    Join Date
    Sep 2008
    Location
    Munich
    Posts
    16
    Vote Rating
    1
    roemisch is on a distinguished road

      0  

    Default


    Thank you for the hint ! I have to update some things in order to use ExtJS 3.0, this has shown a first test.
    Unfortunately, the themes will also not work anymore in ExtJS 3.0 - so I guess I will wait some time until themes have been updated for the new version.
    But thanks to your hint I possibly have another solution to the grid height issue. Until now I render every new screen to a DIV within the viewport center region. Maybe I can render it directly to the viewport center element and thus the height issue could be solved using a proper layout. (seems that with the DIV, no layout solves the height issue). I'll check...

  6. #6
    Ext JS Premium Member dj's Avatar
    Join Date
    Mar 2007
    Location
    Germany
    Posts
    573
    Vote Rating
    2
    dj has a spectacular aura about dj has a spectacular aura about dj has a spectacular aura about

      0  

    Default


    The normal way would be to use a CardLayout for the center region of the viewport. Something like:
    Code:
    .
    .
    .
    {
      id:'center',
      region:'center',
      layout:'card',
      activeItem: 0,
      defaults: {
        layout:'fit'
      },
      items:[{ 
        html: 'the first item that is initially shown.'
      }]
    }
    .
    .
    .
    To add a new item in the center region:
    Code:
    var newItem = new Ext.grid.GridPanel({
      // config goes here -- no renderTo! newItem gets rendered automatically on first layout
    });
    var center = Ext.getCmp('center');
    center.add(newItem);
    center.getLayout().setActiveItem(newItem); // here newItem will be rendered
    If the card was already added you can of course set it directly
    Code:
    var center = Ext.getCmp('center');
    var card = Ext.getCmp('the-card-id');
    if (!card) {
      card = new Ext.rid.GridPanel({});
      center.add(card);
    }
    center.getLayout().setActiveItem(card);
    Daniel Jagszent
    dɐɳiel@ʝɐgszeɳt.de <- convert to plain ASCII to get my email address

  7. #7
    Ext User
    Join Date
    Jan 2010
    Posts
    1
    Vote Rating
    0
    cpzhao is on a distinguished road

      0  

    Default


    very nice app. Any chance you are willing to share the source code?

    I am developing a project management system with a lot of structural similarities to your app. Thanks,