Ext


Go Back   Ext JS Forums > Ext General Forums > Ext: Examples and Extras

Reply
 
Thread Tools
  #1  
Old 10-08-2009, 04:25 AM
mankz's Avatar
mankz mankz is offline
Ext User
 
Join Date: Nov 2007
Location: San Francisco
Posts: 636
mankz is on a distinguished road
Send a message via MSN to mankz
Default Ext Scheduler 1.0 beta - Live examples

Ever needed a way to schedule projects/tasks/meetings/rooms/staff? Check out this new component, the Ext Scheduler .

Live Examples: http://www.ext-scheduler.com/examples.html

First webcast (I was very tired when I did it so sorry for sounding like a confused madman. )


2nd webcast - Adding business logic


3rd webcast - Creating a simple Gantt chart


4th webcast - "Feature tour and Wave integration"


I'll add more information to this thread as I go. Current status:
To receive information and updates, either

Time for coffee, enjoy!
__________________
Why bother with subroutines when you can type fast?
Reply With Quote
  #2  
Old 10-08-2009, 04:46 AM
MaximGB's Avatar
MaximGB MaximGB is offline
Ext User
 
Join Date: Jun 2007
Location: Moscow, Russia
Posts: 445
MaximGB is on a distinguished road
Default

Just WOW
__________________
Use the force - read the source.
My ExtJS extensions can be found here: http://max-bazhenov.com/dev/
Reply With Quote
  #3  
Old 10-08-2009, 05:17 AM
joeri joeri is offline
Ext JS Premium Member
 
Join Date: Aug 2007
Location: Antwerp, Belgium
Posts: 169
joeri is on a distinguished road
Default

Nice...

I am in the design phase of just such a component. It would be for a port of reservation system from windows to web, where users can interact with the calendar to book or change reservations. I was planning on implementing this as a grid column, so that I got the row support, grouping, sorting and so on for free, and have already built a proof of concept.

Now that I see this, I may have to rethink things, because it might make more sense to buy this component and base our work off of it.

Some questions:

- You don't seem to have used a grid as your basis. What sort of support is there for extra columns (with sorting), and letting the user quickly enable/disable grouping in different data elements?

- We would need to support both confirmed reservations (may not overlap) as tentative reservations (may overlap). Is it difficult to integrate support for these two kinds of objects in the same scheduler? Eventually we also want to use the component as a basis for our tasks/appointments planner port from windows to web, where both types may overlap with the other type, but not with themselves, and where they need to have different heights (one hiding below the other) so you can interact with them both.

- What sort of support is there for integrating business rules of where calendar items can be moved? For example, we have per-resource non-available time, which can differ from day-to-day. This would need to be marked invalid in the calendar and behave that way when you try to drop an item on it. We also have preparation and cleanup time around reservations, which prevents an item from neatly matching up to the next reservation. And then there are things like minimal time ahead, which prevents you from booking a resource too close to the time of the booking (so service providers have time to set up the reservation's requirements, such as food and cleaning services).

- Could you go into a little bit more detail of how the data backing for this component is done? I am curious how well it scales and copes with on-demand loading scenarios of large data sets (say, a 100 resources, each in week view). Can data be cached client-side? Is it possible to reuse the same data store for more than one scheduler?

- We have resource bundling. A room might already contain some equipment, and might be made up of partitions which can be reserved separately. When this is then booked, this must be indicated as a group in the calendar, and when moving those items this also has to occur as a group. Is something like this feasible to integrate?

Phew, a lot of questions there. Not all of that stuff is necessary, we might end up shipping only a subset of what the windows app does, but that's what I'm up against for converting to the web, and it's not a simple task, so if your component offers a shortcut, I'll gladly take it.
Reply With Quote
  #4  
Old 10-08-2009, 05:29 AM
mankz's Avatar
mankz mankz is offline
Ext User
 
Join Date: Nov 2007
Location: San Francisco
Posts: 636
mankz is on a distinguished road
Send a message via MSN to mankz
Default

To sum up: My goal with my scheduler task is not to cover every imaginable business scenario since each business has very different business logic. My goal is to provide an extensible platform where you can easily customize the scheduler to your needs.

I can answer the scaling part right away, if you throw 100 resources in the scheduler it won't be nice (haven't tried it, just a qualified guess ). It will support paging though, so if that is acceptable then you're good. Putting a 100 records in a standard grid without paging is just as bad, same concept in my component...

I'll give you more detailed answer when my brain starts working again. Been a long night
__________________
Why bother with subroutines when you can type fast?
Reply With Quote
  #5  
Old 10-08-2009, 06:16 AM
joeri joeri is offline
Ext JS Premium Member
 
Join Date: Aug 2007
Location: Antwerp, Belgium
Posts: 169
joeri is on a distinguished road
Default

I was not intending to imply that I expect all of that as standard behavior. I guess what I need to know is exactly how extensible this component would be, because that's going to be the deciding factor in whether to use it as a base platform or not.

Regardless, it looks like an impressive component.

Rest up!
Reply With Quote
  #6  
Old 10-08-2009, 08:40 AM
Fredric Berling's Avatar
Fredric Berling Fredric Berling is offline
Ext User
 
Join Date: Sep 2007
Location: Sweden
Posts: 62
Fredric Berling is on a distinguished road
Default

This is just what ive been looking for Mats..and you know it .. Considering ive actually seen some of the code behind this project (Ext JS Meetup Sweden) , i can guarantee this is some serious piece of component (also coding wise). Kudos for the demo you gave us. Impressive.
Reply With Quote
  #7  
Old 10-08-2009, 01:23 PM
emilschutte emilschutte is offline
Ext JS Premium Member
 
Join Date: Jun 2007
Posts: 1
emilschutte is on a distinguished road
Default

This looks great!
Reply With Quote
  #8  
Old 10-09-2009, 12:54 AM
mankz's Avatar
mankz mankz is offline
Ext User
 
Join Date: Nov 2007
Location: San Francisco
Posts: 636
mankz is on a distinguished road
Send a message via MSN to mankz
Default

Got some sleep now hehe!

Quote:
Originally Posted by joeri View Post
- You don't seem to have used a grid as your basis. What sort of support is there for extra columns (with sorting), and letting the user quickly enable/disable grouping in different data elements?
It's based on a gridpanel, so you'll be able to use all standard grid behaviour.

Quote:
- We would need to support both confirmed reservations (may not overlap) as tentative reservations (may overlap). Is it difficult to integrate support for these two kinds of objects in the same scheduler? Eventually we also want to use the component as a basis for our tasks/appointments planner port from windows to web, where both types may overlap with the other type, but not with themselves, and where they need to have different heights (one hiding below the other) so you can interact with them both.
This won't be a problem, you can plug any validating logic into the scheduler.

Quote:

- What sort of support is there for integrating business rules of where calendar items can be moved? For example, we have per-resource non-available time, which can differ from day-to-day. This would need to be marked invalid in the calendar and behave that way when you try to drop an item on it. We also have preparation and cleanup time around reservations, which prevents an item from neatly matching up to the next reservation. And then there are things like minimal time ahead, which prevents you from booking a resource too close to the time of the booking (so service providers have time to set up the reservation's requirements, such as food and cleaning services).
Same answer here, you can easily plug any validating logic into the scheduler. Non-availability time could be solved by either you supplying this data as regular events and just style them differently. This could be either done on the server if it's complex or you could inject your nonavailibility hours on the client too.

Quote:
- Could you go into a little bit more detail of how the data backing for this component is done? I am curious how well it scales and copes with on-demand loading scenarios of large data sets (say, a 100 resources, each in week view). Can data be cached client-side? Is it possible to reuse the same data store for more than one scheduler?
I'm currently working on a more indepth webcast which explains the whole setup with data loading etc. Reusing data in other schedulers should be fine.

Quote:
- We have resource bundling. A room might already contain some equipment, and might be made up of partitions which can be reserved separately. When this is then booked, this must be indicated as a group in the calendar, and when moving those items this also has to occur as a group. Is something like this feasible to integrate?
Could you post a screen shot of how you would like it to look? Sounds a little tricky but still doable.

Hope my answers are of use to you. If not I'll gladly answer any further questions!
__________________
Why bother with subroutines when you can type fast?
Reply With Quote
  #9  
Old 10-09-2009, 02:28 AM
joeri joeri is offline
Ext JS Premium Member
 
Join Date: Aug 2007
Location: Antwerp, Belgium
Posts: 169
joeri is on a distinguished road
Default

This is sounding better and better.

Thinking about it, I suppose the resource bundling won't be an issue to implement. Acceptable behavior for us would be that if you select one resource, the related resources are also selected, and when you then move those resources, they are moved as a group (only horizontally ofcourse). That's the behavior we currently have in our windows scheduler component, and people find that acceptable. We're also going to need cut/paste logic to move groups of selected resources to different weeks/months, but again I think that will be easy to implement.

I'm still in the prototyping phase, I expect to be moving to full spec writing during november, so the timing matches up. I guess final decisions will be made when I see the code and the pricing model you propose.

I must say, this is really exciting and disappointing at the same time. Exciting because it means I can build something much nicer in far less time, and disappointing because this seemed like a fun challenge to set my teeth into.
Reply With Quote
  #10  
Old 10-09-2009, 04:33 PM
Lobos's Avatar
Lobos Lobos is offline
Ext User
 
Join Date: Oct 2007
Location: Sao Paulo, Brazil
Posts: 408
Lobos is on a distinguished road
Send a message via MSN to Lobos
Default

Kudos mate! That is freakin awesome!
Reply With Quote
Reply

Thread Tools

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

All times are GMT -5. The time now is 10:56 PM.

© 2006-2009 Ext, LLC
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.