Skip to content
This repository was archived by the owner on Aug 8, 2018. It is now read-only.

Make Falcon "customisations-friendly" #43

Open
7 of 11 tasks
kalabro opened this issue Jun 4, 2018 · 1 comment
Open
7 of 11 tasks

Make Falcon "customisations-friendly" #43

kalabro opened this issue Jun 4, 2018 · 1 comment
Assignees

Comments

@kalabro
Copy link

kalabro commented Jun 4, 2018

Investigation part

Audit document: https://docs.google.com/spreadsheets/d/1rHh9LXyQvPU1_WE7WP5_g-O0P_AWSEoHH1AM3Km4GjU/edit#gid=0

Drupal backends (@otarza)

Gifts frontend (@kalabro)

Brainstorming part

  • Propose ideas how to resolve issues found during audit
  • Discuss with the team
  • Define dev plan
@kalabro kalabro added this to the falcon sprint #1 milestone Jun 6, 2018
@otarza
Copy link
Contributor

otarza commented Jun 6, 2018

Backends customization workflow (Draft)

  • All modules under modules/falcon directory should be moved to separate repos or one repo/module with submodules (e.g. https://github.com/systemseed/falcon-modules/* would contain all those modules). That repo should be required as composer dependency and installed as contrib modules, so no customizations should happen to them from child repos. If there is a need to customize Falcon specific modules' implementations, those modules should provide standard Drupal API ways of overriding them.
  • All modules under custom directories of child repos are fine to be there as Falcon itself will not have custom modules.
  • Config differences are already addressed using config_split module as I understand, so it should not be a problem as long as we use it in a clean way and split custom/child repo specific configs from base falcon configs. Also this needs to be well documented to make sure that developers understand how we approach configs.
  • settings.php, sevices.yml and related files should be gitignored, sample files should be added in the root of Falcon project, maybe we should create new environments folder were we put them. Installation scripts should configure those sample files according to child project needs and copy them to drupal specific folders during installation. Actual settings files should never be committed into the repo.
  • Shell scripts should be broad and parametrized enough so that customizations should not be needed in child repos for basic commands. I believe this should already be addressed in Makefiles approach.
  • Tests: different projects will have different set of tests, so we should find some way to define broad tests for Falcon in a way that developers from child repos should be able to override, enhance or introduce new test without problems and without risk of conflicts from Falcon. I am not familiar enough with Codeception to suggest actual approach but we should discuss this topic.

cc: @kalabro, @duozersk, @spleshka

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants