We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 27519
    • 275 Posts
    After bombarding the forum with questions on how to develop CMP’s over the past weeks, here’s my first results.

    We run a number of self catering holiday cottages in Scotland. After mucking about for years in Joomla without ever getting my envisioned solution, I decided to do things properly when I stumbled upon MODx earlier this year. First I played around with the frontend by building the website I had in mind for our business. But then I decided I needed a backend foundation first and focused on that. Voila, the first fruits of my labours so far. Not quite 1.0 material yet, but getting close...

    What you can do:

    - Register your properties with their specifics like number of beds, pets allowed, short break season, GPS location, etc.
    - Setup the rental prices for each year with weekly prices and short break prices. Yearly rental prices can be easily build by setting up templates which allow for automatic generation of rental rates.
    - Make bookings for each property. Entered bookings are checked against an online availability calendar, per property. Choosing arrival and departure dates uses a special subclass of the standard date picker with disabled dates for already booked dates. Bookings are organised in a tree view, by property, by year but also by confirmation status and payment status. Using standard MODx chunks you can write your own booking confirmations and connect them to the specific property, so when you confirm a booking the guest is emailed a tailored confirmation for the specific property.
    - Payment tracking, so you can track whether deposit and balance of bookings have been paid on time. Again, using standard chunks it’s possible to email payment reminders to guests who have not payed yet.
    - An online calendar from which you can explore the occupancy of each property and directly zoom in on bookings by clicking on the booked dates.

    The whole thing is written using ExtJS/MODextra, xPDO and is based on the architecture set out by the sample CMP’s like Doodles and modExtra. All domain logic is located in the domain objects and all action handlers are "skinny" with a sole responsability of passing data. So for example a booking object can interrogate the calendar object whether its dates are available and interrogate the rates table for the rental price. Another example: the calendar object has helper objects which know how to render the calendar on a ExtJs canvas. So extending the calendar to a front end website should be fairly easy by just adding a renderer that can render the calendar to "plain HTML". I choose this approach so I can reuse as much as possible for the front end website.

    I have more ideas to take this further (integrate content, images etc.) but for now want to round things off and get to a version that I can deploy on our server for further testing.

    I have attached a couple of screenshots so you get a general idea of the whole thing.

    Curious to what you think and of course open to suggestions...

      MODx Revolution / MAMP / OS X
      • 20289
      • 958 Posts
      Seems to be a rigid solution, any code to get a chance to test so far?
        [img]http://i10.tinypic.com/52c4eir.gif[/img][/td]
        [td][Wiki] [Persian support forum]
        [SVN] [RTL SVN Branch] [bugs] [FishEye+Crucible] [Learn MODx!] | [My Google Code]
        [font=tahoma][برای دسترسی به راهنمای فارسی به [url=http://www.modxcms.ir]
        • 4971
        • 964 Posts
        Great and beautiful!

        I think you are the front runner on the CMP department here,
        just behind Shaun... so we are lurking behind the scenes
        and cheering you on...

        You could do the CMPs using HTML, but ExtJS just makes a CMP
        so nice, consistent and easy... that we just as well use it.

        One question I have is about ExtJS license... if you were to
        develop a backend as nice as the one you are making, for a client,
        do you have to pay for the development license?
          Website: www.mercologia.com
          MODX Revo Tutorials:  www.modxperience.com

          MODX Professional Partner
          • 27519
          • 275 Posts
          Quote from: charliez at Nov 08, 2010, 02:05 PM

          Great and beautiful!

          Thanks!

          Quote from: charliez at Nov 08, 2010, 02:05 PM

          I think you are the front runner on the CMP department here,
          just behind Shaun...

          I’m not sure about that.... wink I would not have come this far without help...

          Quote from: charliez at Nov 08, 2010, 02:05 PM

          One question I have is about ExtJS license... if you were to
          develop a backend as nice as the one you are making, for a client,
          do you have to pay for the development license?

          I’m not sure either. I haven’t given that aspect any thought (yet). From a MODx perspective, I’m just using the MODx platform which comes with its own MODxtra classes as derivative work based on ExtJs. This is license territory and probably tricky stuff. I’m still quite a bit away from the finished product but it’s always good to think about license issues. Thanks for the suggestion.
            MODx Revolution / MAMP / OS X
            • 28215
            • 4,149 Posts
            If you’re going to be selling your MODx Extra with closed-source that is using ExtJS, then you will need an ExtJS developer license. If you license it as GPL and distribute the source to those you sell to, you’re fine and don’t need a license (but someone could then just give it away for free). If you want to close-source it, you’ll need a license.

            That said, if you’re going to close-source a MODx Extra and sell it, chances are you’ll probably make more than the small cost to get an ExtJS developer license.
              shaun mccormick | bigcommerce mgr of software engineering, former modx co-architect | github | splittingred.com
              • 27519
              • 275 Posts
              Quote from: MotSmart at Nov 07, 2010, 08:52 PM

              Seems to be a rigid solution, any code to get a chance to test so far?

              As said, I will need a bit more time for testing etc. Then I want to setup packaging.

              After that I need to look into the whole GitHub thing and setup a repository. So far I’ve done all development under my local MODx installation. While this works, it’s probably better to have a separate setup outside of MODx for this. I’ll have to dive into that and see what’s the best approach for this...
                MODx Revolution / MAMP / OS X
                • 10076
                • 1,024 Posts
                How are things with the development here?
                  • 33968
                  • 863 Posts
                  Hi there - I have a project coming up requiring something quite similar to what I remember you had developed for this holiday rental CMP.

                  The screenshots have disappeared but I remember your booking calendar was quite impressive! Is there any chance you can repost the screenshots and perhaps give a little insight into the ExtJS code you used to display the calendar?

                  Cheers in advance

                  Luke
                    • 27519
                    • 275 Posts
                    Real life caught up and I have not been working on the project for a while. I mean to get back to it but that will take a while before I have time. In the mean time, here are some screenshots. What kind of insights are you looking for?

                    Cheers,

                    Roger
                      MODx Revolution / MAMP / OS X
                      • 33968
                      • 863 Posts
                      Hi Roger, the 14.20.08.png calendar view is what I remembered - really slick!

                      I'm just curious which xtype you might have based that on or whether it was a completely custom component? If you're at all able to share some of the code used for that panel that would make my day, otherwise I'd be very grateful for a kick in the right direction smiley