Comments (2)
This is related to #6, however it's a slightly different use case. With the School use case it might make sense to use the method in #6 as each class room is only in one school, but resolving these relations could also be super useful for with other types of relations.
For example an editedby or createdby column - you don't want the user contained within that as per #6, but having the username instead of the ID per this issue would be super useful.
from gitify.
This would be great. The only tricky part is mapping changes, I think -- so if someone changes the key name (School ABC has been renamed to School CBA), how does that information get tracked back? That's the one advantage of using IDs.
Maybe it could be listed as School ABC (4), and then for storing it can just regex out that last integer. A couple of thoughts on how to handle various "user data entry" issues:
- "School ABC" would create a new category, unless there's already a "School ABC" category; in that case, the next time gitify extract is run, it'd return "School ABC (4)". The tricky part here is what happens if multiple elements use just School ABC in one gitify build; as long as the category is created along with the first item, it should be fine, but if it somehow groups everything, we could end up with multiple School ABC categories (maybe?)
- "4" would connect it to "School ABC"; the next time gitify extract is run, it'd return "School ABC (4)"
- "School CBA (4)" could either change the category name to School CBA or leave it alone. In the former case, the next time gitify extract is run, we'd get "School CBA (4)" for all items with cat 4; in the latter, we'd still get "School ABC (4)". Up to you; I don't really know what the user expectation would be there. I think we almost have to leave it, though, because unless someone changes every element to "School CBA (4)", it's just going to get changed back by any elements that build later anyway.
- "School ABC (3) (4)" would connect to ID 4; the regex should always grab the last int in parenthesis
- "School ABC 4" would create a new category. The ID needs to be within parenthesis
- "School ABC (5)" (where 5 is a different category) would connect it to the real category 5. Next time gitify extract is run, it'd return "Other Category (5)".
- "School ABC (12)" (where 12 is a nonexistent category ID) would connect it to ID 4 -- the real School ABC category
- "New Category (12)" (where 12 is a nonexistent category ID and New Category is a nonexistent category name) would create a new category, which may or may not be ID 12. The real ID would be returned with the next gitify extract.
That's all for now :p
from gitify.
Related Issues (20)
- Unable to run Gitify 1.0 HOT 3
- Can not install Gitify HOT 1
- Composer install of v2 : minimum stability issue HOT 2
- v1.x and PHP 8 compatibility issue (Symfony Yaml) HOT 7
- Error "Duplicate key" with ver. 2.0-alpha while build HOT 5
- Automatic adding(deleting) new line after <?php tag every "gitify build"
- Restore command fails with MODX 3 HOT 6
- errors when installing package in MODX3 HOT 4
- Unable to (re)set tinyint values to 0
- [MODX3] Error when extract MediaSource HOT 3
- PHP warning: Undefined array key "service" HOT 1
- modx:install command fails HOT 3
- New .gitify dump-method writes "api_key" and omits original "credential_file"-location HOT 1
- Comments in .gitify file are stripped out HOT 2
- modTemplateVarTemplate are getting overwritten by each other HOT 3
- Collections 4.0.0-pl not extractable any more HOT 4
- MODX could not create your database. Please manually create your database and then try again. HOT 2
- Unable to initialize project HOT 6
- Duplicates detected for modDashboardWidgetPlacement but no duplicates in database
- Add OPT_SETUP to the package install
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gitify.