Road Map - Gadreel/dcraft GitHub Wiki

Plan

0.9.6 Mar 2017

  • Form Validation – improve errors for Y/N, textarea, radio and check lists

  • Event Driven Actions per Tenant

  • Better Email Templating

  • Subsite (or mini-site) support is present but untested, need to validate the feature and enable it in the CMS

  • Tenant level scheduled tasks could run on a development or test server, we should enhance so scheduled tasks only run automatically on production servers

  • Develop an API settings framework to make it easier to use one key in Test and another in Prod, for example for Authorize.NET

  • Load JS after loading page - so _dcui=html mode is quicker to load?

  • Enable the main (social media) meta tags

  • PUI dialog support

  • Test unicode chars (heart) in page title

  • Single body div

  • Fix issues with Sessions. Seems to change session after reconnecting to server when signed in. See dc.io tab on sessions (SimpleSessionTracker can hold last 10,000 sessions, DatabaseSessionTracker uses local db lookup and can hold indefinite)

  • New Session handling - session is alive as long as there is a connection to browser, each connection hooks up to the session and then unregisters on die. Still have backend sessions with keep alive. You can pick your own session id and code (pick it outside of a browser, in browser the session secret code is HTTP only) but it comes at a trust penalty.

  • ManagedForm - link to event - link to email - store in DB with list of who has access to it

  • Uploader Control (fix file name so no bad chars)

  • ManagedForm Uploader Control - link to event - link to email attachments

  • PUI merge CMS layer into main (dcWeb-2) module (except for menus)

  • Add a task tracking feature so that users can start uploads or image conversions and then move on – while still seeing the progress bar (don’t reload page if tracking foreground task)

  • Consolidate file transfer into buckets (in CMS service), too many options now

  • New CMS

  • In CMS feed, we need to try checking up folder levels automatically so that a CMS page can operate with parameters but can keep the option of override pages also

  • Fix web context path so that it points to the current path in WebSite - if the path has been shortened for dynamics (maybe, but don't send to client because it needs separate entry for each full path - CMS needs the internal path though, so include real path somewhere in the return)

  • New CMS - tasks list for tracking - with progress, multi-upload images and files, programming points for buckets

  • Demo multi-sites and config

  • Update dependency libraries

0.9.7 May 2017

  • Date and Time picker controls for UI

  • separate packages - dc/dcWeb and dc/dcCms need to be fixed so that we don't need the old packages in the main dc area any more (strip out the key schema) and move to dca instead

  • cleanup dcraft-demo packages, no old Cms/Web/Test/Release? consolidate dcCore package?

  • Check for Form Changes before leaving a page – in base page and the in CMS (there first)

  • For common DB features have a LoadRecord like option that is LoadTenantSettings - puts the tenant id and table name in for you

  • Finish and demo language features. Demo with Pig-Latin and Reverse English. Support CMS language and site language that are separate.

  • Language support is somewhat tested but should be validated and enabled in the CMS

  • lang and chron support/plan see dc.io tab

  • support multi-language in the .md format

  • Use canonical urls on prod - https://support.google.com/webmasters/answer/139066?hl=en

  • Allow Tenant to come online only after Tenant is fully loaded

  • Improve CMS edit/galleries/ImageDetail and EditVariation

  • Auto-generate thumbnails in galleries

  • New CMS - domain files, edit files, add dashes in file upload (slug), delete folders in Files area

  • Image Viewer Control – full screen, next/prev, text slides, mobile friendly, desc/copy

  • Package Name="dc/dcCms-2" > automatically include dcm.app.js and dcm.app.css

  • Improve and automate site indexing, in database and sitemap (in database, possibly index images on keywords too)

  • ManagedForm - store in DB with list of who has access to it

  • Improve root tenant/root user access to webserver, make it easier to setup new server and easier to add/manage tenants

  • And ability to disable or remove a tenant - add to a LockPage that forces all .html requests to go to LockPage instead of to /Home or where ever

  • support custom 404 page

  • Configure tenant level badges so that Admins can edit user badges (security levels)

  • Define the roles of core badges

  • Admin Options migrated to CMS 2.0 - Edit User, Edit Self, User List, Edit Tenant (ROOT module)

  • Better handling of spaces in MD, don’t error on XML comments in MD. Adding period after a link in MD is causing a space to be added.

  • Better handling of spaces in MD so that **Label:** [link copy](/link) works

  • MD processing - don't treat comments as HTML, don't give parse errors with them

  • Ability to edit Page Class via CMS as well

  • Page Public via CMS also, but cannot override what developer sets in .html

  • Confirm that user RPC requests and sessions can survive a server restart

  • Bucket table - table of tokens and who has access to the bucket (who has access is in json too)

  • CMS edit feed publish in the Site timezone

  • Feeds with Badges (in site config) for auto edit detection - Feeds also need a script backend for greater control and authorization for each feature

  • Import site needs to remove pages/feeds no longer present from DB

  • Sitemap lang support

  • Sitemap and Feed Index from nightly processing (see dc.io tab)

  • review enhancements to Tasks, such as https://dzone.com/articles/lightweight-workflow-like-execution-usingnbspdexec

  • Update dependency libraries, especially Rocks

0.9.8 Aug 2017

  • Plugin protocol support for dc.pui links so To="cms:[menu]:[path]" or To="dialog:[path]" or even To="page:[path]" and of course move the http/https handler into this area

  • custom web tags

  • improve file caching so that each module has its own cache and loads entirely at start. lowercase the file names for matching. also load all files under www, but not under other folders (files and galleries) so that file names can quickly match and be case insensitive (except for the feed title in blog or event, etc).

  • Make it so that certain dc* tags cannot be used in CMS (MD) page parts - such as the <Where /> feature for the feed loader - due to security? Or maybe not…editor status may be enough

  • Ensure that no files in Files or Galleries can be executed by the web server. Prevent web requests for non-images in Galleries (no json especially) and prevent similar requests for meta files in Files

  • Folder specific help in Files and Galleries (load client-side using JS), not accessibly through direct query (see above).

  • Better support for Facebook and Google sign in

  • Class and Groovy Support for FileStore Buckets, improve handling

  • Work Queue support

  • Site preview mode so that changes to website (through CMS) can be previewed before going live

  • configure sites to allow "Remember Sign In" or not

  • fix database ReIndex command, fails on Prod

  • integrate Google https://www.google.com/recaptcha/intro/index.html widget, especially for managed forms

0.9.9 Nov 2017

  • File Access rules for Files and Galleries sections, limit access to certain folders. Folder based, no file based, security. Allow rules only, no Deny. Simple access rules - none, read only, read and write.

  • Bulk Emailer feature. Bounce Tracker.

  • Queue email sending and recovery

  • If email send fails, don't lock the Email topic up

  • Let’s Encrypt automation so that SSL certificates can auto install and auto renew (and register with Goggle)

  • Improve dcThread indexing so that thread loading is faster

  • Enhance shared.xml configuration so more config can be shared across configs

  • Become more event driven - when a form is submitted, record updated, file uploaded - put out an event that can then process as a task (send email)

  • domain loading in idle mode, doesn't run schedule or go live, but can be accessed and run by SysAdmin

  • review http://www.scylladb.com/

0.9.10

  • Need a logger feature for sensitive info - keep task id in log, but only put in server log not return to session user

  • Make sure we log when an Admin or Developer or SysAdmin logsin

  • Web server handler use Netty Auto Read off, have buckets operate in Pull mode with optional CTP streams (configure as per dcScripts)

  • Way to mark a page as needing review at some future date - a note for editors

  • Repository. Deployment plans. See dc.io tab.

  • Document best code practices. See dc.io tab.

  • Find link tool so that when a page or image is renamed we can assist the user in finding places within the CMS where the link is used (and should be manually replaced?).

1.0

  • self monitoring and reporting reports

  • add Text Messaging API, see Twillio for messaging API from SMS to voice/video…

  • Trust system (limit access to IP's that score poorly on trust)

  • Blocky for visual script editing and debugging. Be able to debug dcScript in Events

1.1

1.2

  • Support SFTP Access to tenants – easier for customers than need large files or many files uploaded at once

  • Can we support web assembly? http://evanw.github.io/thinscript/

1.3

  • HTTP 2.0 support

  • Look at Netty HTTP/2, SMTP alternative, resolver-dns

  • can we support Stylus

  • can we precompile core CSS and JS into single files for faster loading?

1.4

  • eCommerce module based on dcmStore features (be sure order is not placed if payment fails)

1.5

2.0

2.1

2.2

Backbone of MFT features:

  • File transfers with external entities via HTTP(S), SFTP and FTP(S).
  • File transfers through the DMZ using a Gateway (temp encrypted storage and then migration)
  • File tasks including scheduled tasks and triggered tasks
  • File/deposit validation framework
  • High level scripting for managing file workflow
  • Smart file streaming frame work
  • Connectors for files on Google, S3, OneDrive, DropBox and more
  • Built-in support for OpenPGP

History of dcraft

dcraft is based of DivConq, which is based off projects that date all the way back to summer of 2011. In winter of 2013 the DivConq project took on a "MFT like" scoop. In late 2013 and through 2014 the project took on more and more features that could support an MFT server. In 2015 the project focus switched to a web platform.

⚠️ **GitHub.com Fallback** ⚠️