Skip to content
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

Developing and Contributing to this project #13

Closed
MaxCarritt opened this issue Mar 5, 2020 · 7 comments
Closed

Developing and Contributing to this project #13

MaxCarritt opened this issue Mar 5, 2020 · 7 comments
Labels
discussion Requires further conversation to figure out the action steps. Most feature ideas start here.

Comments

@MaxCarritt
Copy link
Contributor

MaxCarritt commented Mar 5, 2020

We should try and collectively develop a plan for how to develop on this project, because of how Ignition handles changes, the complexity of PlantPAx, and having several different contributors.

The idea here is to separate our development environments from our master (or production). That way you can feel free to mess with anything, but also only upload changes you feel confident about. If there are major issues that happen on accident, we can roll them back easily.

Using GIT with Ignition is still pretty new too, so we might also run into some issues to work through.

Initial idea of how to make changes:

  1. Clone this project to your computer or gateway. You can use the github desktop app to do this, or go the git command line route. Probably the easiest thing to do is just clone it to an empty directory somewhere on your computer, and manually copy over the jlbFP folder to your gateway's project folder.

  2. Use the included import/export udt window (under administration, utilities) to import the UDTs in the tags/udt_types folder (select 'import me.txt')

  3. Import all the images if needed

  4. Focus on developing in as small of an area as you can.

  5. When you are happy with a change, export that change, and put it into the git directory you created earlier. If you are using github desktop, it should see the file(s) that you change. Commit the change with a title, and decent description of what you did. Push to the origin. It should now be visible to everyone else.

  6. Retrieve changes that other have made by pulling the project, and then copying again the project folder, importing udts, and new images if there are any.

Committing things one by one instead of huge changes all at once will make the project more organized, and any changes will be clearer to the team.

@MaxCarritt MaxCarritt added the discussion Requires further conversation to figure out the action steps. Most feature ideas start here. label Mar 5, 2020
@jlbcontrols
Copy link
Owner

This is great, thanks! I'd like to add a few more things:

  • I like the idea of using issues to let the group know what you are working on. Perhaps... 3a) Assign an issue to yourself (create one first if needed).

  • Using a separate development branch for each feature is good practice. It may be best to create a pull request and assign a reviewer before merging, especially if it impacts an issue that someone else is working on. This could be optional though, given that we are all part time. I wouldn't want to stop all work because no reviewers are available.

@tord-v
Copy link

tord-v commented Mar 5, 2020

The steps above sound good. Branching out for each feature might be the safer choice. But im new to git so i really dont know.

If branch were to be a thing. I think maybe a branch for the UDT, and a branch for the Popup/template?

@tord-v
Copy link

tord-v commented Mar 5, 2020

Might I suggest the use of projects: That we make one project for each PlantPax object. This is nice for logging progress and bugs in the early phase. Later on we can use issues for bugs. Again im new to git :)

@jlbcontrols
Copy link
Owner

@tord-v I think its faster to develop the UDT and templates in the same branch for testing purposes. When used together, bugs will reveal themselves, and are easier to fix. I don't think its required though (as long as UDT is before faceplate).

Projects look really cool! I haven't used them before, but would be interested to learn.

@jlbcontrols
Copy link
Owner

### Please note, there is an Ignition bug when importing UDTs:

If UDT member tags have been deleted from the json that you are importing, Ignition does not overwrite to remove them from your UDT! Even if the Overwrite option is selected.

To prevent recreating deleted tags, we need to remember to delete our UDTs in Ignition before importing the new files. This will also delete all UDT instances. Please add these steps to your work flow.
1a. Delete all tags
2a. Import instance tags.

@jlbcontrols jlbcontrols pinned this issue Mar 7, 2020
@MaxCarritt
Copy link
Contributor Author

### Please note, there is an Ignition bug when importing UDTs:

If UDT member tags have been deleted from the json that you are importing, Ignition does not overwrite to remove them from your UDT! Even if the Overwrite option is selected.

To prevent recreating deleted tags, we need to remember to delete our UDTs in Ignition before importing the new files. This will also delete all UDT instances. Please add these steps to your work flow.
1a. Delete all tags
2a. Import instance tags.

I've actually talked to Inductive Automation about this, they say it's working as intended (not a bug.. :/). But yeah the process is to delete UDTs before importing updated ones.

@jlbcontrols
Copy link
Owner

Closing - rolled the ideas from this issue into issue #117

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion Requires further conversation to figure out the action steps. Most feature ideas start here.
Projects
None yet
Development

No branches or pull requests

3 participants