-
Notifications
You must be signed in to change notification settings - Fork 182
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
rojo init --kind place
should produce a structure that mirrors common services
#995
Comments
rojo init --kind place
should produce a structure that mirrors Roblox Studio's default placerojo init --kind place
should produce a structure that mirrors common services
I think this would be a good decision, yeah. I have doubts that anybody is actually using |
I don't feel strongly on this issue, but I personally prefer keeping my source code in a cohesive structure that I like, rather than trying to conform to Roblox's datamodel scheme, and in my opinion, others should do the same. I think that |
For people who already have a lot of experience with Rojo, the ability to stray from Roblox conventions is icing on the cake, but for first-time users, it's confusing. I've observed this many times over as I've onboarded new users onto Rojo in professional work and provided support to the broader community. In general, using patterns and terms that are already familiar makes for better UX than immediately diverging, even if the divergence can be seen as better on other axes. If people want to go deeper into Rojo and leverage all the capabilities it offers to the fullest extent, then that's great, and we can offer support for that when they're ready - but they need to get through the door first! |
I see empty directories, are we placing a .gitkeep in there or a different file? Git won't pick those up automatically and it may confuse users new to version control. |
|
Right now,
rojo init --kind place
androjo init
(since "place" is the default) produce a file tree like this:default.project.json
contains the following:This setup isn't very approachable to new users, mostly because it's not obvious what
server
,client
, andshared
map to in the Roblox data model. To find out what will happen to these directories, a new user either has to read and understand the project format, or else sync or build the project and observe the result.Additionally, the current place template isn't very representative of Rojo's feature set, making it a poor example. It does not include any Roblox model files, JSON model files, or meta files. It's not clear how many different things the default project should demonstrate, but I think at least Roblox models and JSON models should be included.
Lastly, this will make using the upcoming syncback feature (#937) easier. The current place template doesn't lend itself well to syncback's operation.
So, I think Rojo should alter the "place" template so it more closely matches what Roblox users see in Roblox Studio, perhaps something like:
The
default.project.json
would contain something like:There are some unanswered questions:
emitLegacyScripts
be disabled in the new template? This enters the realm of opinion, but if we include it then it at least has the possibility of cluing users into the fact that the setting exists.ignoreUnknownInstances
be enabled on all services? This is important for users who want a partially-managed project, otherwise they will experience unwanted deletions due to the project specifying$path
for services.Strictly speaking, this change is breaking. However, the number of users relying on the exact shape of the place template is probably small. We should poll the community to determine the impact of this change, and if there are little to no users who will be broken, we may be able to include it in a minor version bump.
The text was updated successfully, but these errors were encountered: