Giter VIP home page Giter VIP logo

Comments (8)

v79 avatar v79 commented on July 30, 2024

Sources bucket structure will be something like - root folder contains all the project yaml files (cantilevers.yaml). Each project will then have a folder based on the domain specified (www.cantilevers.org), which will contain the usual sources, images, generated folder etc.

The destination bucket will have a folder for each domain, containing the published website content.

So next step is to build the project creation service and front end.

from cantilever.

v79 avatar v79 commented on July 30, 2024

When loading and saving content, how do I specify the project? This will be needed to identify what source folder to save to. Options are:

  • change routes to be, eg. GET /posts/{projectKey}/{srcKey}
  • Put the {projectKey} into a Header
  • Do something with cookies?

from cantilever.

v79 avatar v79 commented on July 30, 2024

A project definition requires a domain (like www.cantilevers.org) which gets treated as the 'domainKey', the name of the root folder in the S3 sources and destination buckets. It is set on project creation, but it's just part of the project yaml and can easily be modified. Which would break things. Ignoring that part for now, it's still a bit tricky to know what to name the '.yaml' file in the first place. It is currently set to a sluggified version of the original project name. I kinda what to make that more of a UUID.

from cantilever.

v79 avatar v79 commented on July 30, 2024

I am going to experiment with headers and cookies. New territory for me. I don't really want to complicate my routes by passing the project key.

from cantilever.

v79 avatar v79 commented on July 30, 2024

Project needs a proper testing but I think I've got all the core routes working with new cantilever-project-domain header.

from cantilever.

v79 avatar v79 commented on July 30, 2024

Testing to be done:

  • posts
    • create new post
    • load post
    • save post
    • delete post
  • pages
    • load page list
    • create new page - works where a page template has sections; fails otherwise - template issue
    • load page
    • save page
    • save new page
    • delete page
    • create folder
    • delete folder
    • setting a page as the index/root for a folder?
    • manage page sections based on the template
  • templates
    • create new template
    • load template
    • save template
    • delete template
    • create, manage and delete template sections
    • trigger regeneration of pages based on template
  • media
    • load image gallery
    • upload new image
    • delete image
  • project configuration
    • load and save existing configuration
    • create, manage and delete custom attributes
    • create, manage and delete image resolutions
  • Generation menus
    • Rebuild metadata
    • Rebuild all pages
    • Rebuild all posts
    • Rebuild image resolutions

from cantilever.

v79 avatar v79 commented on July 30, 2024

Bugs found:

  • switching projects does not clear posts store/list
  • images are uploaded to the wrong folder
  • can create a post even when there is no post template.
  • can attempt (but fail) to create a page when there is no non-post template
  • when creating the first template, it repeatedly checks for template usage - stop this for unsaved templates
  • when saving a new template, the template list is not updated afterwards
  • when saving the first 'post' template and then attempting to create a post, after having previously visited the Posts page, the new post dialog never fetches the newly updated template list so it's not possible to create a post. Log out and back in to resolve this. Same for pages.

Major problem:

  • File uploads no longer trigger the generation pipeline, because this was based on the key starting with sources/. This is no longer true. I'll probably need to return to a three-bucket solution.

from cantilever.

v79 avatar v79 commented on July 30, 2024

I've done enough, for now.

from cantilever.

Related Issues (20)

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.