Skip to content
This repository was archived by the owner on Sep 6, 2021. It is now read-only.

Allow loading custom application shells. #6605

Closed
wants to merge 8 commits into from

Conversation

busykai
Copy link
Contributor

@busykai busykai commented Jan 21, 2014

If there's no brackets.app instance try loading a custom shell defined by
"appShellImpl" requirejs configuration path. By default, a void implementation
for the browser is loaded.

It would allows a single configuration point in the similar fashion it's done for the filesystem implementation.

A rudimentary appshell impl could be already found in in-browser branch. Other customers, such as XDK, also need to hack global object creation.

it has no impact on Brackets when ran in Brackets shell.

If there's no brackets.app instance try loading a custom shell defined by
"appShellImpl" requirejs configuration path. By default, a void implementation
for the browser is loaded.
@busykai
Copy link
Contributor Author

busykai commented Jan 21, 2014

Worth clarifying: this is not a PR for Sprint 36.

@ghost ghost assigned JeffryBooher Jan 24, 2014
@JeffryBooher
Copy link
Contributor

This seems fine but probably needs a much larger architectural discussion. @dangoor any thoughts?

@dangoor
Copy link
Contributor

dangoor commented Mar 3, 2014

@JeffryBooher OK, I'll try to set that up.

"use strict";

// this implementation is intentionally left empty
// see src/main.js for details
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like this file should actually be named InAppShell or InBracketsShell or some such... running "in browser" (i.e. vanilla Chrome) would actually require filling in a bunch of the APIs here...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, my idea was that this would be the landing for in-browser shell API implementation, similar to what you've already started in the in-browser branch. This particular comment is misleading. So should I rename the file (would VoidShell do?) or clarify the comment?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was assuming that, in the in-browser branch, we'd change the require.config to redefine "appShellImpl" to point to a different impl module. Otherwise I'm confused about why we need that level of indirection: if we're just changing the contents of the same fixed module, we could load it the regular way with no special require.config needed.

If we're keeping the require.config indirection, then I think renaming to something like InNativeShell or InAppShell would be clearer -- since we'd have a different file in the in-browser branch.

@busykai
Copy link
Contributor Author

busykai commented Mar 6, 2014

@dangoor, @JeffryBooher did you come to any conclusion/recommendation? please let me know if this PR should be kept "alive".

@dangoor
Copy link
Contributor

dangoor commented Mar 6, 2014

@busykai yes, this PR should be fine (subject to the review comments, of course)

@JeffryBooher
Copy link
Contributor

@busykai I will follow up with @peterflynn tomorrow about naming.

@busykai
Copy link
Contributor Author

busykai commented Mar 28, 2014

@JeffryBooher, @peterflynn so how do we call this empty shell? I actually understand @peterflynn's point and can to rename it to InAppShell.

@busykai
Copy link
Contributor Author

busykai commented Apr 24, 2014

@peterflynn, @JeffryBooher any resolution on this one? please let me know.

@dangoor
Copy link
Contributor

dangoor commented May 19, 2014

@JeffryBooher tagging this medium priority.

// https://github.com/adobe/brackets-shell/blob/master/appshell/appshell_extensions.js
// Change this value to load custom implementation to run brackets in
// something else than Brackets shell (e.g. in a browser).
"appShellImpl" : "utils/InBrowserShell"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should probably not put this in utils. Probably best at the root but I could go for a shellImpl folder. This isn't a utility so it doesn't belong there.

@JeffryBooher
Copy link
Contributor

@busykai just move the file and I think we're good to merge.

@busykai
Copy link
Contributor Author

busykai commented May 22, 2014

aye!

@JeffryBooher
Copy link
Contributor

@busykai there is a travis build failure. Can you re-run it to make sure that it's a false-positive? Thanks!

@busykai
Copy link
Contributor Author

busykai commented May 22, 2014

Keeps failing. I will look into it.

@JeffryBooher
Copy link
Contributor

@busykai I am going to close this PR. Go ahead and re-open it once you have it building.

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

Successfully merging this pull request may close these issues.

4 participants