Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2.0 Roadmap #69

Open
27 of 73 tasks
neokoenig opened this issue Dec 19, 2016 · 0 comments
Open
27 of 73 tasks

2.0 Roadmap #69

neokoenig opened this issue Dec 19, 2016 · 0 comments
Assignees
Milestone

Comments

@neokoenig
Copy link
Owner

neokoenig commented Dec 19, 2016

Doing a complete rewrite for 2.x which will break backwards compatibility. This may take some time.
Aiming to support Lucee 4/5 and hopefully ACF11+

Testing and Continous Integration

  • Full TDD From the start
  • Add Travis CI for lucee 4.5x and lucee 5.1.x + mySQL/postrgres possibly via Commandbox

RESTFul API

  • Add Full JSON API with /api/v1/ api root: this will enable people to build their own front ends if required. Use JWT?
  • Need Definitive list of endpoints

User Accounts / Permissions / Settings

  • Move User password hashing to bCrypt
  • Per User Time Zone Support
  • Per User Language/Locale Support
  • Add Better authentication system for 3rd party integration
  • Look into AD/LDAP integration
  • Add OAuth - sign up with Facebook etc
  • Add Public Registration options
  • Soft Delete users should be fully delete-able/recoverable.
  • More Restrictions; limit ability to edit events made by other users; maximum number of bookings per day etc
  • Protected Properties: roleid in particular.

Calendars

  • Rather than one calendar, allow multiple calendars with different configurations. Buildings/Rooms should be able to be tied to multiple calendars. bookings should be tied to the Building/Room.
  • Add Icon/Title support for calendars
  • Add an "owner" for each calendar
  • Better Calendar Filtering for Locations
  • Add FullCalendar 3.0
  • Add FullCalendar Scheduler addon - double check licencing
  • Add "Year" based calendar (think booking a rental cottage
  • Add Ability to restrict each calendar viewing/editing/booking by role + user

Locations

  • Per Location Time Zone Support, so you could list rooms in buildings in multiple countries
  • Add Location floorplans/attachments/images/capacity/type
  • Can now have a grouping field (currently called "floor" but might just change to group
  • Add an "owner" for each room/building
  • Add Icon support

Events/Bookings

  • Create some sort of "slot based" js widget
  • Add Full Repeating Rules Logic via iCalendar spec
  • Add Full Repeating Rules Logic JS widget selector
  • Improve contact details/notification system: maybe some sort of trigger/action workflow like drupal
  • Ensure created events are owned by a user
  • Add Search for "Next Available Slot / Find me a room with ...x "
  • Full Text search for titles/descriptions (filter by past/future)
  • Print friendly PDF Agendas
  • Improve/Simplify Pending/Approved/Denied workflow
  • Multiple Rooms per booking?
  • Make Allow Event Overlap..better.
  • Add permission to show only users events
  • Create an event on behalf of any user of the system (only available to the administrator)
  • Look into booking rooms for nights a-la b&b/hotel/motel etc. Might be do-able. Maybe different "room modes": i.e,
  • "Hotel Room" where rooms are booked from only from a check in/out time. "Resources" might be breakfast, spa access. I guess this would need to be pretty dynamic to be flexible enough.
  • "Rehearsal Room" where there are specific 'x' hour long bookable slots, "Resources" might be PA/Drums etc, or lab equipment etc
  • "Meeting Room", where you could book from 5 mins to a predefined max length "Resources" might be laptop/projector etc
  • "Generic Room" where there are no restrictions.

Resources

  • Keep Resource booking concept? Or spin out further?
  • Give resources their own calendars maybe, so you can see all activity for a specific piece of equipment
  • Allow resources to be attached to calendars/buildings/rooms;

General

  • Better Localisation/i8n
  • Generally improve translations
  • Store all logging/createdAt etc timestamps as UTC : this is now a wheels default
  • New/Better Install Process
  • Upgrade FullCalendar JS -> 3.x
  • New Theme via AdminLTE
  • Add Digital Signage as a standalone self contained front end using an API key
  • Improve iCal/RSS etc
  • Add SMTP server defaults in options maybe?
  • Data import -> Export would be nice, maybe via CSV if Lucee vs ACF isn't too bad

Breaking Changes

  • /public/ is now the webroot (to help with docker images etc)
  • Drop List View (Full Calendar 3.0x has it)
  • Drops CF10 Compatibility: CFWheels 2.x
  • Drop Custom Form fields (too complex, underused)
  • Possibly drop MSSQL compatibility
  • Different DB structure will mean probably no easy upgrade path from 1.x

Framework

  • Move to CFWheels 2.x alpha
  • Move to CFWheels 2.x beta
  • Move to CFWheels 2.x
  • Change to resource based routing
  • Add Database Migrations
  • Created new iCal4J plugin to properly do repeat rules
  • Created new bCrypt plugin for hashing

Progress

  • Create 2.x branch
  • Setup CI Test Environment
  • Alpha Release
  • Beta Release
  • Document
  • 2.0 Release
@neokoenig neokoenig added this to the 2.0 milestone Dec 19, 2016
@neokoenig neokoenig self-assigned this Dec 19, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant