✔ Additional method to manage node packs #23
Replies: 3 comments
-
Mr. @pcisar and everyone, A week ago I finished all pending work on nodezator (pending tasks, then issues and then reviewing PRs). A few days ago I could finally start working on this additional method to manage node packs. Progress has been smooth and I expect to be able to deliver this additional method in a week or so. Stay tuned. |
Beta Was this translation helpful? Give feedback.
-
Hello, everyone! I just uploaded the new version of Nodezator to github and PyPI. Nodezator 1.3.0 now supports installed node packs, in addition to the local node packs already in use. You can read more about in the manual. Please, if you find any problem or have any suggestion, just say so. |
Beta Was this translation helpful? Give feedback.
-
Forgot to close the discussion, so I'm doing it now. Peace |
Beta Was this translation helpful? Give feedback.
-
Hello, everyone,
This discussions aims to gather your feedback regarding a new additional method of managing node packs which I want to include in Nodezator in the near future. If after having read all of this you have anything to add, be it suggestions, concerns or just your approval, please do so. Alternatively, you can also just add a reaction to this discussion (thumbs up, etc.) for brevity.
As you know, the current way by which Nodezator manages nodes is by having them organized within categories inside a folder we call a node pack. This way is simple, straightforward and requires no understanding of packaging in Python, which makes it accessible to newcomers as well as great for experimentation for people with all levels of proficiency in Python. In other words, you just create the folders, create your scripts and they can be loaded and executed right away on Nodezator.
However, though great on its own, this method has one main drawback: the .ndz file needs to know the location of the node pack, which means that if you send your .ndz file and your node pack to someone (or someone downloads them online) that person, when opening the file for the first time in Nodezator, will have to select the node pack again in the file manager within Nodezator as is described in this section from the manual. Though simple enough, this extra step is tedious and unheard of in other node editing apps.
This drawback and some other problems were shared with us by Mr. @pcisar in #13 (comment) and since then we've been exchanging comments about this problem, all of which you can read in the mentioned link.
Taking all of what we discussed into consideration, I think Nodezator will benefit a lot from an additional way of managing nodes. That is, one that rather than replacing the current way (which have its advantages), exists as an alternative. People using the current method won't needed to worry about changing anything. For them, Nodezator will just work as usual.
Here's how I currently envision the new method, taking Mr. Císař's feedback into account: when selecting node packs for a .ndz file, you won't need to look for the node packs into your file system, you'll just type the name(s) of the node pack(s) and Nodezator will automatically find the node pack(s) for you and load the nodes.
How Nodezator will know where to find them? It's simple: in this new way of managing node packs, the node packs will be installed via pip, so Nodezator will be able to find the node packs in any system just with the name of the node pack, by looking for the installed package. This way, when you distribute your .ndz files, other people won't have to locate the node pack(s) in their file systems anymore, they'll just need to have the node pack(s) installed and the .ndz files will open and load the node packs right away.
To facilitate discussions, I'll call the current method "Node packs as a local folder" or local node packs and the new proposed method to be added will be called "Node packs as installed packages" or installed node packs.
Here's a brief table summarizing how the methods differ regarding some aspects of node pack management.
Note that both methods are the same regarding how the node packs are created and what can be achieved with them. Both are created and organized in the same way. Also you can use any of the methods regardless of what you want to achieve, be it simple or complex stuff. The differences only begin to appear when we consider distribution.
For the current method, local node packs, the advantage is that no package management is needed. That is, you don't need to have an account on pypi, study the syntax of the required metadata files, create them and upload the node pack to pypi.org. This makes the local node packs very beginner-friendly and also great for experimentation even by people who are familiar with packaging with pypi. That is, once your node pack is ready you just need to load it in Nodezator. However, the drawback is that people opening your files for the first time will need to point Nodezator to the copy of your node pack(s) on their system.
On the other hand, Installed node packs won't have this limitation. You will just distribute your .ndz files and people interested in opening them just need to install your node packs via pip. As long as the people opening your files have the node pack(s) used in the files installed, they will be able to load your files right away, no need for the extra step of selecting the local copy of the node pack(s).
The discussion with Mr. Císař in the link on the top of this message actually included other problems and suggestions which I'll take into account but didn't include here for the sake of brevity. You are welcome to read the comments on the link mentioned and share your opinion in any other point that catches your attention.
And with this I conclude my thoughts on this matter. Admittedly, I didn't spend as much time as I'd like to perfect this discussion and achieve the level of detail I wanted, but I think as a first draft it is more than enough to introduce the proposed changes and give everyone the opportunity to share their thoughts, as my ideas mature.
Moreover, I'm still working in the last scheduled changes listed here (#14), then need to solve this issue (#18) and review and merge the pull requests (#21 and #22). I expect to finish all the pending work by the beginning of next week, then begin the implementation of the installed node packs next week or so, along with other planned/requested features from #13.
Until then I'll keep an eye on this discussion and also add to it as needed.
edit: grammar and fixed broken link
Beta Was this translation helpful? Give feedback.
All reactions