Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement new folder structure #9546

Closed
4 tasks
cjcenizal opened this issue Dec 18, 2016 · 2 comments
Closed
4 tasks

Implement new folder structure #9546

cjcenizal opened this issue Dec 18, 2016 · 2 comments
Labels
chore dev Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc

Comments

@cjcenizal
Copy link
Contributor

cjcenizal commented Dec 18, 2016

As noted in this Architectural Problems comment by @stacey-gammon, our folder structure makes it difficult to discover files and relationships:

Currently it is difficult to quickly know where to look for certain files, or logic. For example, we have:

  • ui/public/directives/saved_object_finder.js
  • ui/public/saved_objects/saved_object_registry.js (the only file in this folder)
  • ui/public/courier/saved_object.js

The angular style guide (see #9049) has some suggestions around folder and file structure

Steps

  • Add Angular Styleguide docs (Implement AngularJS style guide #9049)
  • Decide on a target folder structure, justified by some kind of paradigm (e.g. separation of business logic and "dumb UI components" into services and components folders).
  • Test it out by migrating a couple files into the new structure.
  • Migrate files on an ad-hoc basis as part of every PR.
@cjcenizal
Copy link
Contributor Author

Per discussion, let's prove out this directory structure in other, small projects first, e.g. Watcher UI.

When we begin implementing the new structure in ui/public, let's also be wary of gotchas/special cases which don't have a clear place in the targeted folder structure.

@cjcenizal cjcenizal added the Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc label Apr 20, 2017
@cjcenizal
Copy link
Contributor Author

So far, the EUIfication process has given us the opportunity to reorganize files in a clearer way, e.g. EUIfying index patterns. If this keeps up then this issue is moot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore dev Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc
Projects
None yet
Development

No branches or pull requests

1 participant