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

Master Plan #3

Open
33 of 43 tasks
oroulet opened this issue Jul 31, 2016 · 19 comments
Open
33 of 43 tasks

Master Plan #3

oroulet opened this issue Jul 31, 2016 · 19 comments
Assignees
Milestone

Comments

@oroulet
Copy link
Member

oroulet commented Jul 31, 2016

Work in progress, feel free to fix and/or comments
every steps/module here is checked when it is roughly implemented. polishing will come later

0.1

  • initial UI taken from UA client
  • actions to add nodes
  • Improve, add missing icons
  • save dialog windows sizes and better default size
  • Implement namespace editor on top left (simle treeview showing NamespaceArray node with add and remove namespaces actions)
  • import xml
  • save xml
  • Use another font/color to clearly differentiate added nodes that will be exported
  • keep track of all added nodes (need small modifications of python.opcua)
  • finish UI shown when adding nodes, must be possible to specify node type and values for variables. Other attributes will be specified in Attribute editor
  • finish Attribute editor, currently it only show attributes, apart from Value. Should use
  • Copy/past actions to copy nodes and attributes when mass creating nodes

0.2

  • Fix export of lists
  • Fix export of ExtensionObjects
  • remember last used values when adding nodes since users probably add many nodes of same types (to discuss)
  • release to pip
  • enable column resizing of qt views
  • add support for designing methods
  • Value attribute doesn't need to show server/source timestamps

0.3

0.4

  • never crash UI
  • [x ] polish
  • better editor for extension objects
  • better editor/viewer for arrays
  • Do not use dialogs in namespace editor and allow for editing
  • use other servers internally for example open62541. that should be easy
  • more adaptive contextual menu

0.5

  • Implement reference editor
  • Use our own (minimal) file format uamodel to keep reference to external nodesets...

0.5.5

  • better UI for methods
  • Find a smart way to allow user to create their own custom ua structures (extensionobjects) (Important!!!)

0.6

  • do not close dialogs before node is created so users can retry before crashing
  • recent files menu
  • open tree to last used node after opening file
  • Edit methods

later:

  • restrict custom namespace to one? (uamodeler does it)
  • disable creating node in ns 0?
  • Instantiate Action (Maybe)
  • Cut Action (Maybe)
  • allow to modify node id and update links/references when changing nodeid of a node (maybe)
  • Display dialog to set namespace and maybe nodeid creation strategy and type when copying/instantiating nodes
@zerox1212 zerox1212 self-assigned this Aug 1, 2016
@zerox1212
Copy link
Collaborator

To avoid double work, I will take the 'save xml' task. I've already started it, but I don't have enough to start a PR yet. I'll try to get an initial PR to the opcua server this week.

@oroulet
Copy link
Member Author

oroulet commented Aug 1, 2016

@zerox1212 yes I let you have a look at that xml stuff. make a pr to python-opcua asap so other can comment early work.

And yes good idea to say who is working on what. I will polish the dialog to select a node and work on the attribute editor. Next is to correctly show nodes to export

@zerox1212
Copy link
Collaborator

See this PR. FreeOpcUa/python-opcua#270

@oroulet oroulet self-assigned this Aug 14, 2016
@oroulet oroulet added this to the 0.1 milestone Aug 14, 2016
@zerox1212
Copy link
Collaborator

Does version 0.1 of the GUI support building methods?

@oroulet
Copy link
Member Author

oroulet commented Aug 15, 2016

Make it and it will :-)
No you should wait for 0.1, so that the basis works

But please write it in master plan so we do not forget it

@oroulet
Copy link
Member Author

oroulet commented Aug 17, 2016

@zerox1212 sounds crazy but it is now usable. Can you have a look and report?
you need to clone uamodeler and uawidgets repository and make a link

@zerox1212
Copy link
Collaborator

I will grab the master and take a look. Thanks.

@zerox1212
Copy link
Collaborator

zerox1212 commented Aug 18, 2016

Wow, it looks pretty good.

So far I see a few small issues. Some of the table columns can't be resized which is a bit annoying. Also, when you add a new variable, what does "auto data type" do?

I also found a bug where if you have a variable/property and you click in the ValueRank field the app crashes. Actually there are a few things in the attribute editor that cause it to crash.

@oroulet
Copy link
Member Author

oroulet commented Aug 18, 2016

Can you write the issues in master plan? No need to open bug request for
all small things for now. Yes the column resizing is an issue, I do not
know how to fix it... If you know qt you can try.. Probably a settings of
the treeview

On Thu, Aug 18, 2016, 14:52 Andrew notifications@github.com wrote:

Wow, it looks pretty good.

So far I see a few small issues. Some of the table columns can't be
resized which is a bit annoying. Also, when you add a new variable, what
does "auto data type" do?


You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
#3 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACcfzojB0TaIV6zZymVj7fX0zDTKa_IOks5qhFVzgaJpZM4JY-gu
.

@zerox1212
Copy link
Collaborator

I updated the plan. I did not know I could edit that.

@zerox1212 zerox1212 modified the milestones: 0.2, 0.1 Aug 18, 2016
@zerox1212
Copy link
Collaborator

zerox1212 commented Aug 18, 2016

@maljac Can you test the modeler with some of the more complicated model designs? I need help understanding what the XML should look like. At the moment XML export will probably not work on some configurations because of this.

@zerox1212 zerox1212 modified the milestones: 0.3, 0.2 Aug 22, 2016
@zerox1212 zerox1212 modified the milestones: 0.3, 0.2 Sep 20, 2016
@zerox1212
Copy link
Collaborator

I have not looked at this in a while. What is the status of exporting methods? Turns out I now need the ability to build some simple methods in my model.

@oroulet
Copy link
Member Author

oroulet commented Oct 1, 2016

Method are exported correctly. But we should add a GUI to add automatically arguments

@zerox1212
Copy link
Collaborator

zerox1212 commented Oct 3, 2016

When we change a custom type, such as an object type, all instances of that type should update to reflect the changes in the type.

@oroulet
Copy link
Member Author

oroulet commented Oct 3, 2016

@zerox1212 I do not think so. expensive and very error prone. better let people write code

@zerox1212
Copy link
Collaborator

zerox1212 commented Oct 3, 2016

UAModeler is not this way. If I have an instance of an object type in my model, and I add a new property to that object type, my instance automatically gets the new property.

If you have an address space with 500 instances of ObjectyType A, and you add a property to that type you will have to manually update all your instances. This would force you to do all your ObjectTypes first, and if you ever had to adjust it later it would be a major pain.

@oroulet
Copy link
Member Author

oroulet commented Oct 4, 2016

But the other way around if someone modify base object, should we change
the entire address space? That is going to be crazy expensive...

And if someone really has 500 instances, they really should make type in
xml then instantiate programmatically.

@jarkko-hautakorpi
Copy link

Is creating custom Enumeration types (EnumStrings) with values possible? UaModeler has EnumValues -section where you can add Acending/Mask/Gaps type of EnumValues.
Values are visible (like under ExceptionDeviationFormat) but not editable, even under own custom type.

@oroulet
Copy link
Member Author

oroulet commented Aug 7, 2019

You can just copy an existing one.

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

No branches or pull requests

3 participants