-
Notifications
You must be signed in to change notification settings - Fork 211
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
Issue with Legend Pure IDE and Omnibus Variant Feedback #796
Comments
This issue is stale because it has been open for 30 days with no activity. Please remove stale label or add any comment to keep this open. Otherwise this will be closed in 5 days. |
Adding a comment to keep this open. The Legend Pure IDE would be really helpful for writing scripts in the Pure Language as well as allow for integration testing of data structures and logical consistency across the OWL ontologies. Ontologies such as CDNO, are complex and it would be valuable to have the data models used for user queries to match what is currently being leveraged by the scientific community at large. |
After finding that it was not a docker container permissions issue, I checked out the legend-engine project in IntelliJ and built the project locally. After dealing with some build failures due to asserts failing (I suspect that it has to due with Linux and Windows char diffs), I built and ran the project locally and still the encountered the issue. As it turns out, the Omnibus uses the following object PureIDELight_NoExtension to launch the IDE. This object loads in the core and pure_ide Code Repositories using a ClassLoaderCodeStorage object that implements an ImmutableRepositoryCodeStorage, this explains why the CompositeCodeStorage was throwing an issue when creating a folder. After some investigating, it turns out that there is another IDE object we can run that gives not only the full Legend packages to use but also allows for creation of files and folders for the project for certain directories. The PureIDELight object uses a MutableFSCodeStorage object to load and store all the code repositories. So a change could be done with how the Omnibus packages the script for the IDE, if it can be changed to using the PureIDELight object, this would allow for people to experiment more in-depth with the language by running the Docker script outright. It is worth noting that when checking out the legend-engine project, you can add your own Code Repositories. Adding a custom CodeRepositoryProvider to the PureIDELight buildRepositories function and the required resources like any Pure Code and definition.json needed, would allow the IDE to load in the code you are writing. |
This issue is stale because it has been open for 30 days with no activity. Please remove stale label or add any comment to keep this open. Otherwise this will be closed in 5 days. |
This issue was closed because it has been inactive for 35 days. Please re-open if this issue is still relevant. |
@reyes-michael - can you suggest what was the final ngnix config that worked for you? |
Changing this line in the SDLC config from - /api/auth/authorized -> to - /api/auth/authorize fixes the issue for authorization when connecting to an on prem gitlab instance from this file: https://github.com/finos/legend/blob/master/installers/omnibus/components/sdlc/config/config.yml line 46. Else, in this thread, I just ran the The PureIDELight object explicitly to get the IDE up |
Thanks for your response, this is helpful!
wrt the PureIDELight, I am currently running PureIDELight_NoExtension
which comes with the omnibus default installation. Interesting to know
you managed to run PureIDELight, is there any config change for that?
Did you run independently outside the omnibus installation? Also did
it involve any config changes? You had mentioned about ngnix config
changes which i was interested in, currently my process is failing
with 500 error when it is trying to execute /fileAsJson with the
welcome.pure file.
…On Mon, 6 Jan 2025 at 21:06, Michael Reyes ***@***.***> wrote:
Changing this line in the SDLC config from - /api/auth/authorized -> to - /api/auth/authorize fixes the issue for authorization when connecting to an on prem gitlab instance from this file: https://github.com/finos/legend/blob/master/installers/omnibus/components/sdlc/config/config.yml line 46.
Else, in this thread, I just ran the The PureIDELight object explicitly to get the IDE up
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: ***@***.***>
--
Rahul Waghmare.......
|
From what I recall, the docker setup pulls the omnibus PureIDELight_NoExtension as you mentioned. Any attempt to call functions will fail in the no extension because it's does not pull in all the code storage packages as discussed in the thread. As to how I got the PureIDELight working, I checked out the engine subproject and complied it locally using their build script. It will generate all the jars needed. I linked to it in their thread as well. It's a bit of a work around but it gives you a sandbox to play with the language outside of Legend Studio. To get it to run, there should be a page in the gitlab repo telling you how to run it |
@reyes-michael Thank you for the thorough walkthrough. I'm glad you showed interest in the omnibus and Legend Pure IDE. Like you said, it's a great place to take a sneak peak at the power of Pure. When I have time, I will see if we could swap out to use the "full" version of Regarding your fix for |
Compared to the Pure build internally, I think we will be fine with that start up time! Thanks @akphi ! |
Regarding if we could have a separate variant for Pure IDE, we would have to decline the request at the moment. Pure IDE is really meant for editing Pure and thus, the best place to use it would be to build from source within finos/legend-engine. The version included here is meant as a playground. If we see growing interest, we would revisit that decision. |
Yep, I'll try changing it to the full implementation |
Fair, to each their own! Sometimes you have to use both in unusual ways to advance business outcomes |
thanks both! @reyes-michael - i will try running the full version of PureIDELight! |
Hi FINOS Team!
I am currently working on crafting a Legend metamodel on the OWL 2 Web Ontology Language. I was able to get the Legend Omnibus - slim version working, but I want to run the Legend Pure IDE to write Pure Code to help create validations on the meta model as I am building it.
Side Note:
A great variant to have is the slim with the Legend Pure IDE! I think it looks sick and it would be awesome to have that included with the slim.
When I try the run the full version, I am able to navigate to the Legend Pure IDE, but I get the following error message:
<title>404 Not Found</title>404 Not Found
nginx/1.18.0 (Ubuntu)
I also get this message when I try to run commands in the Legend Pure IDE terminal. I am running the docker build and run scripts from the Legend Omnibus for the full variant using the .env arguments as on the Github repo. I am also on Windows11 with WSL using git-bash to run the scripts.
I'm not quite sure where the issue is in the setup? I looked at the Github questions and previous issues and I did not find anything.
If there is something I am missing or this is an issue, please let me know.
The text was updated successfully, but these errors were encountered: