GithubHelp home page GithubHelp logo

vrenken / etalii.ubigia Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 1.0 175.24 MB

Ubigia is a philosophy and corresponding family of technologies and applications with as aim to better facilitate information ownership, exchange and entanglement. It's intent is not to be yet another NoSql database, but rather to expand the boundaries of digital information by applying (or better said re-inventing) some of the fundamentals we all take for granted in today's information systems.

License: MIT License

C# 97.95% Smalltalk 0.01% PowerShell 0.12% HTML 1.06% Dockerfile 0.02% ANTLR 0.79% CSS 0.06%
context context-aware contextual data data-silos immutable immutable-datastructures knowledge knowledge-graph

etalii.ubigia's People

Contributors

vrenken avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

etalii.ubigia's Issues

Determine strategy on how to proceed with GTL-GCL integration.

  • Decide on buggy GTL text examples.
  • Decide on buggy GCL unit tests.
  • Decide on buggy GCL text examples.
  • Decide on function @ addition.
  • Decide on function replacement of annotation functions.
  • Decide on the consolidation of the context and traversal projects.

Consolidate Antlr traversal+context visitor.

Having to parse paths after that we have parsed context schema's just doesn't do the trick.

If we want to have subject/sequence powered GCL mappings then we should have integrated parsing/validation as well.

Maybe in the future we should consider consolidating the Context and Traversal projects completely?

  • Share visitors using defines.
  • Share as much code as possible.
  • Antlr GCL + GTL visitor are now one and the same and live in the same project.

Write down GCL definition and how it work with code generators.

Explain fragments, value fragments & structure fragments:

  • Explain optional annotation
  • Explain mandatory annotation
  • Explain structure fragment plurality

Explain Graph Mapping:

  • Explain compact/elaborate mapping
  • Explain Value mapping
  • Explain plurality mapping

Explain mutations:

  • Explain property mutations.
  • Explain tag mutations.
  • Explain node mutations.
  • Explain creating new nodes.
  • Explain relation mutations.
  • Explain blob mutations.

Add HTTPS/SSL support to Grpc transports.

Aim should be to:

  • Not (or minimal) influence the F5 development experience
  • Honor the standards set in .NET Core, yet also the structure provided by the Ubigia solution

Improve the correlation subsystem

  • Check for correlation Id in the log output of the script parsing/processing.
    It is still not completely correct how the correlation Id's get assigned.
  • Add/enable Logging to the infrastructure persistance layer.
  • Add/enable Logging to infrastructure fabric layer.
  • Fix logging in Api.Logical. Somehow the logical messages are not visible in the centralized logging instance.
  • Rename/split ScriptCorrelationId into TraversalCorrelationId and SchemaCorrelationId?

Remove the Selector pattern

In today's .NET world pattern based switch statements are perfectly fine and able to cope with the complex conditionals needed occasionally. The Selector pattern served its purpose but has become obsolete, therefore it should be removed from the codebase.

Add SourceGenerator to wrap around schemas.

  • Add unit tests for simple GCL operations.
  • Correct plurality on properties and on the result.
  • Add comments that explain what traversals will happen.
  • Embed the parsed schema into the entity and use it to run the processing.
  • Wire up the schemaprocessing on to the result entity.
  • Make sure values are adequately mapped.
  • Make sure that children are adequately mapped.

Prep open source release.

  • Check for unwanted (personal/business content and remove.
  • Validate once more on third party depenendencies (update list?).
  • Add source code headers everywhere?
  • Prepare for external open source SonarQube instance.

Add ingestion repository

  • Move provision into this repository and rename it to ingestion.
  • Add CI/CD pipeline that starts Ubigia hosting on one of the server systems.
  • Find right candidate(s) application services for ingestion example => Build a list
  • Implement ingestion candidate(s) services.

Logging CorrelationId's don't propagate through the application stack

  • Research AsyncState
  • Add client transport logging to confirm that it should work.
  • Add CorrelationId to the Grpc network transport.
  • Add CorrelationId to the Grpc service implementations.
  • Add CorrelationId to the WebApi network transport.
  • Add CorrelationId to the WebApi service implementations.
  • Add CorrelationId to the SignalR network transport.
  • Add CorrelationId to the SignalR service implementations.
  • Make sure all client logging decorators in all layers show up with the CorrelationId instances.

Add ANTLR definition for GTL

  • Add basic GTL Antlr4 definition.
  • Add basic GTL Antlr4 unit tests.
  • Implement basic sequence parsing.
  • Implement full sequence parsing.
  • Implement full validation.
  • Implement variable parsing.
  • Implement function parsing.
  • Implement tag parsing.
  • Make Parser configurable (i.e. we want to switch back/from Lapa to Antlr.
  • Implement general Antlr4 parser.
  • Finetune all unit test failures.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.