-
Notifications
You must be signed in to change notification settings - Fork 52
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
Extend Archi plugin to provide a simple way to save a local model to a remote repository without any actions outside Archi itself. #15
Comments
And I think might require SSH certificate authentication? |
If the model already exists locally on the file system then we have to think about how this will work given that we use a "temp.archimate" file in a local repo folder. |
Some comments...
I can see several solutions:
So I suggest to test using GitBlit. GitBlit is a simple but effective GitHub-like solution that can easily be installed and customized (I recommend the GO setup). Then you have to enable the
I think we should just tell the user that after having saved the model on the server he should no more use the original .archimate file (and suggest to close it to avoid mistakes). |
I'm trialling GitBlit set up on localhost. One thing to note is found here http://gitblit.com/setup_transport_http.html I had to set http.sslVerify to false in order to perform git actions. Note that this is a global setting. You can't set it in the local config file because it has to be set before cloning. |
I'm able to create a new blank repo locally and push it to GitBlit. So, all the pieces are working (assuming that GitBlit is configured correctly and that "http.sslVerify" is false). Probably needs more work on catching authentication errors and certificates. Now it's time to create a workflow and UI.
Take case 2 to start with
|
I'll test ASAP. IMHO we should focus on case 1 because it is the one that create more value (and the one I had in mind for this story): people will have already existing models that theyr want to share. I'm creating #19 for case 2 |
Most of the functionality of case 2 is the same for case 1. Case 2 is easier to start with. |
Ok, in this case just consider that you work on #19 and come back later on this one :-) |
After trialling different methods I've come to the conclusion that there is no need to add an extra menu item in the plugin. The actual context for this is the model whether it is a new unsaved model or an existing model not in the repository. Maybe this was the intent of @jbsarrodie and I misunderstood. What I am developing now is based on the two use cases above but as follows:
The only difference is that (2) just has not been saved The action is a context menu item on a selected model in the tree and on the "Tools" menu: |
That's exactly what I had in mind ! |
Good because we can close the other issue now. That case is solved by creating a new blank model and then choosing the share option. |
The dialog for adding repo and user details asks for URL and model name The idea is to concatenate them together to create the repo url and name like this: url = https://www.somegitblitrepo.net/r/ result = https://www.somegitblitrepo.net/r/newmodel.git I'm not sure I like this, and it may not work in all cases. I suggest we remove the model name field and rely on the user providing the full url for now. |
I'd prefer to keep it like that because we might in the future make the url a parameter in preferences and just let user choose model name... |
The problem is whether to add ".git" on the end automatically or not. |
I'm closing this issue. We'll see later if and how to refine it. |
This requires to choose a Web based Git System that provides API or equivalent solution to create repository remotely...
The text was updated successfully, but these errors were encountered: