Core Status - Gadreel/dcraft GitHub Wiki

TODO

API

Needs reworking, outdated and incomplete. Should be able to work through regular web calls or through CTP subsystem.

Bus

OperatingContext needs to be separated out so that the context object is not shared with the service, but the returning log is shared with requesting context.

Clear anything remaining of Gateway out. Maybe simplify routing? direct Bus connectors must be fully trusted. OpCtx on remote Bus is just for info, already assumed verified.

Migration to use CTP system, or at least the CTP handlers, for communication? Binary format for messages.

Bucket

Needs more programmability, but otherwise good.

Console

Create installer, monitor and utility interface than run on Server or remotely via API.

CMS

Pretty good except that Threads might need more work. And Twitter support is weak, see Interchange below.

No real Store features yet either.

Counters

Fine, but need ways to view them and store them in noSQL.

CTP

Needs a lot of work. Network should maybe try QUIC protocol. Needs FT, RPC and DB subsystems.

CTP Streams

Good foundation, needs support in CTP and elsewhere. Might want to have connectors to other sorts of objects for Source or Dest. JSONSource - buffer at a time take CompositeStruct into a file stream. JSONDest - buffer at a time build up a CompositeStruct.

DB

Also pretty good except for:

  • we need a C level merge operator for our index counter incrementing (or maybe use the built in long counter, though it would be a special format not readable by a global explorer)

  • need to review how we rely on OpCtx and make sure it can be separated out and not share the same object as the caller

  • full text indexing

  • for CTP we will need a PULL version of SELECT RECORDS and LOAD RECORD - a binary format that returns results only as fast as the client/network can handle them

File Store

Concept of a FS driver being the mounting point with a Bucket being the services for the FS is working well. Would like to expand the features and support S3, GoogleDrive, DropBox, SFTP and more. There are possible enhancements to be made too, such as PULL support in CTP-F.

Hub

Hub and Hub Resources working well, though wish to expand the concept for Resources to be remote or JARed. Also would like to have a site wide, reloadable, class library that can be used to load (and reload) custom code without restarting the web server. dcCore and dependency libraries don't need to reload but one common set of classes for a deployment would be nice to support.

Tenant and Site system working well, though would like to expand Tenant to have a class loader. That class loader could chain from the shared library above. Better support for Java classes.

Interchange

AWS

Needs a lot of work, async streaming to and from S3 a priority.

Google

Needs work - for login and for access to Drive, Calendar, etc

Facebook

Needs work.

Twitter

Needs implementing for basic feed reading without losing the text.

OAuth 2.0

Want better support

SSHD

May put in an SSH server feature.

JSON

Cleanup a little. Enable a PUSH parser that can turn data into objects one buffer at a time.

Logger

Pretty good, except needs to use TR codes everywhere.

Mail

Improve this, allow it to fallback and use Module level email templates such as password recovery.

Memory

OK, but maybe use pooled memory from Netty.

Modules and Extensions

Good enough

Operating Context

Good ideas but don't want object references to parent or child - need to support those relationships via a shared SessionId.

Remove OperationResult, OperationCallback, FuncCallback, FuncResult

Should not require an OpCtx anyplace

Verify should get UserCtx record from Auth. OpCtx should change the UserCtx and the session in the result of the Verify call.

Need a way to implement fallback locale support - there can be the locale in OpCtx and also preferences in UsrCtx, when OpCtx doesn't work then fallback on the preferences.

PGP

Clean and expand

Scheduler

Needs a lot of help:

  • needs to remove direct reference to Context inside of Task, see Work below
  • scheduled task class/script should return a Task to run, not do any work itself (possibly this should be context less code, automatically use a context as described in the schedule)
  • needs a way to load schedule from database
  • needs to detect changes to schedule and reload

Testing and confirming and refining all needed.

Schema

Working well

Script

A good start, check that recursive function calls can be done. Expand commands available. Web based debugger.

Services for DB

Good except Auth should return UserCtx record not change it. OpCtx should change the UserCtx and the session in the result of the Verify call. Need a way to plugin so that Creds can hold FB or Google or other creds and that Auth service can detect and use the correct approach for Auth based on Creds.

Services for Simple

Fix up Auth here too. Support Feed indexing in memory to make it like regular CMS support.

Struct

Good

Util

Good except for where we need to rework away from outdated OperationResult notion.

Web

Good except for OpCtx handling in server handler. Maybe opcontext lives only lives in session so that web handler and web context, etc, never have to directly reference it at all. Can restore a fresh context from session after initial session setup - which gets recalibrated on Auth/Verify events.

Need HTTP/2.0 support. And need to expand tag support.

Work

Pools are pretty good. Need to get rid of the OpCtx in Task. Need to confirm that subtasks work.

Queue needs to be coded, improve the way it updates claims. Can be used to schedule in the future. Would like it if threads could clear opcontext when done with work.

Xml

Good, maybe cleanup