Giter Site home page Giter Site logo

bluebucket_experiment's People

Contributors

veselosky avatar

Watchers

 avatar

bluebucket_experiment's Issues

CollectionPage

Implement basic support for Collection Pages:

  • CollectionPage JSON schema
  • Template for HTML
  • Lambda: CollectionPage->HTML
  • Configure extension validator and spectator

Update CollectionPages

  • Lambda: UpdateCollectionPages. Invokes ArchiveChanged for every collection page in CollectionPageList
  • Configure Spectator CollectionItemIndex -> UpdateCollectionPages

CLI: Generate config

Create a command that generates a config file from the internal example/default. Take a param that points to the config template to use.

  • Library function: load config (from local FS, fetchable URL, or bucket)
  • Library function: generate config

ItemPage validation

Add logic for handling item pages.

  • Schema for item page JSON
  • Library function: validate item. Returns detailed explanation of errors.
  • Lambda: Add Item (validates schema before storing)
  • Configure validator

Spectator: PageJSON to HTML

Implement the spectator that produces HTML renditions of item pages.

  • Template to produce Item HTML
  • Lambda function
  • Add spectator to bucket config
  • Update installer as needed

ScheduleIndex

Keep an index of scheduled items that can be referenced by the scheduler.

  • Schema for ScheduleIndex
  • Configure validator for ScheduleIndex
  • Lambda: UpdateScheduleIndex
  • Configure Spectator ItemPage->ChangeScheduleIndex
  • Configure Spectator AssetMeta->ChangeScheduleIndex
  • Configure Spectator CollectionPage->ChangeScheduleIndex

UpdateScheduledItems

  • Lambda: UpdateScheduledItems. Checks the ScheduledItemIndex for things that need doing. Uses put-object-acl to change visibility to public. Invokes ArchiveChanged.
  • Configure Schedule for UpdateScheduledItems

Collection Item Index

  • Schema for CollectionItemIndex
  • Update installer to create SQSCollectionItemIndex
  • Configure spectator HTML -> SQSCollectionItemIndex.
  • Lambda: UpdateCollectionItemIndex. Reads (and filters) messages from SQSCollectionItemIndex. If necessary, updates the index file.
  • Schedule to trigger Lambda

Lambda Function: ArchiveChanged

Implement the Lambda that distributes change notifications.

  • Logic to invoke Lambda
  • Logic to send to SQS
  • Logic to distinguish between privileged and unprivileged spectators
  • Update Installer as needed

CLI: Installer

CLI command to install AWS resources into your account and wire up the system.

  • Create bucket if necessary
  • PUT config to bucket
  • PUT schemas to bucket

Out of scope, to be added in future ticket:

  • Install Lambda functions
  • Configure Lambda execution roles
  • Configure S3 Event sources

Markdown support

Add ability to store files locally in Markdown format and push to archive in correct item page JSON format.

  • Library function: Markdown to item page JSON
  • CLI: PUT either JSON or Markdown file to archive. Invokes Lambda: Add Item To Archive.

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.