Ion Channel Library

0 views
Skip to first unread message

Jeremias Resendez

unread,
Aug 3, 2024, 5:57:43 PM8/3/24
to ladeconcums

The Input Channel Library stores all of the channel parameters (except the scribble strip name) for a particular channel under whatever name you may choose. i.e. Kick, Snare, etc. Select a channel, press Processing, press Library.

Hi, I'm Tess Rawls, Branch Manager at North Channel Branch Library. My favorite book is The Prince of Tides by Pat Conroy. At North Channel, we enjoy serving you. There is a lot going on at the library. We hope you visit us soon. If you have questions or comments please feel free to email or call 832-927-5550.

The Friends of the North Channel library raised $200,000 toward the construction of the library. Each year they raise thousands of dollars through book sales and donations. They sponsor the Summer Reading Program, Adult and Family literacy programs, and special events, in addition to providing funds for books. Please contact the branch for more information, (832) 927-5550 or n...@hcpl.net

I have an existing structure where I created a Team Channel that has a library. Within that library folder, I created multiple folders for each department e.g. Marketing, HR. Currently, I have provided selective access to HR folder to a specific group of users. (I don't want to give access to all of the content within HR, but I can control this with standard permissions).

In the meantime, we created a private channel for HR. With that, it came a library in Sharepoint. Is there a way for me to "redirect" the "Files" into that HR folder that already exists in another location?

An alternative that I used in the past is to create a tab in the channel for a SharePoint library, but this seems to point always to the parent folder (the Document library) and not the specific HR folder, even if I use the direct link.

Correct. At the current time you can only link a library and so have to go through the root folder, however it will only show the end user folders they have permissions on so could be a solution if the end users are ok with the clickthrough.

When creating a new Team, a SharePoint Online Team Site is created with a single document library. When a new channel is created within the team, a corresponding folder is created within the document library for the channel files.


We recently implemented SharePoint Online in our organisation, migrating from a file share with a mess of nested folders. We invested significant time and effort to use metadata and views instead of folders in document libraries in an effort to avoid recreating nested folders structures in SharePoint Online.

Given each Team has a dedicated SharePoint Team site, it seems odd to use a single document library and rely on folders for organising files. Perhaps not for small use cases with few documents, but for larger projects involving thousands of documents this feels like a big step backwards.

@Ryan_McConville This is certainly something you could do if you pre-provisioned the relevant Channels for a new Team. Sure you would still have the folders in the default library but you can also create a library for each Channel. You could then configure a tab in each Channel to show the relevant library. It would require some though on how to implement, but if every Team was the same it should be possible.

@Ryan_McConville , FYI based on the limited information I know about teams and the way creating a team is handled in the sharepoint universe. Anytime you create a team that will create a separate document library associated with that team. By default all the files are stored under the root folder unless you chose to create a channel. When a channel is created in teams then SharePoint will have created a matching folder under the document library and with the first channel added will create a General Folder that will have any of the files you had added to the document library prior to creating your first channel. The piece of information that you might find useful is that instead of creating a regular channel at all you may want to try creating Private Channels. Each private channel will have its own document library not associated with the document library or root team directory. You would have to add all members of the team to that channel for them to have complete access but your file structure could remain flat within the context of that channel if you wanted all the files dumped in by channel. Good luck.

If you are using git in an organization with enterprise-managed certificates, then you will need to use Secure Channel. If you are using git only to access public repositories (like GitHub) or your organization does not manage its own certificates, then you are perfectly fine using either SSL backend (they are just different implementations of the same protocol).

This comes in handy on Windows because Secure Channel ("schannel") is the native solution, accessing the Windows Credential Store, thereby allowing for enterprise-wide management of certificates. For historical reasons, Git for Windows needs to support OpenSSL still, as it has previously been the only supported SSL backend in Git for Windows for almost a decade.

I've been an enthusiast and heavy user of Asynchronous Channel Wires since they were a "hidden feature" in LabVIEW 2015, and believe I might be the first to start calling the Messenger Channel version of the Queued Message Handler design the Channel Message Handler (or CMH).

At the time that Channel Wires were being "tested", I raised the question why the decision was made to have all of the supporting code "shared" in \LabVIEW Data\ExtraVILib\ChannelInstances, instead of being part of the Project, and hence "name-spaced" with the Project (exactly the issue you are facing). I more-or-less accepted the argument that the Channel Instances folder had code that was generated by LabVIEW scripting when the Channel Wires were encountered, and it "made more sense" to keep them together and "isolated" from the LabVIEW Project (much like the contents of user.lib and vi.lib are stored "outside the Project", the difference being that the .lib folders are "static", fixed when LabVIEW is installed, and not dependent on user-written code needing specific support routines created when a feature like a Channel Wire is defined and used).

But this means that the implementation of a Channel Wire is tied to the name of the Channel Wire, making it incumbent on the LabVIEW developer to have unique names for Channel Wires between LabVIEW Projects. I once asked a developer who was explaining a QMH-based Project why he used LabVIEW Classes for the Queue elements, and he said it provided "name-spacing" between Projects. I noticed that the LabVIEW 2019 examples of the Messenger Channel Wire also use a Class for the Message, but I'm not sure this provides "isolation" between two Projects with the same Class name, but different Class definitions (I haven't tried testing this, yet).

Of course, another "solution" that I have implemented is to write a little Utility that I call "Reset Channel Instances". It finds (in the File Folder pointed to by the "Get System Directory" function with the argument "User Documents") the relevant "User Documents" and deletes the ChannelInstances folder for the particular version of LabVIEW you are using. If you make this little Utility part of your Project, you can simply run it whenever you encounter (while already running LabVIEW) this situation.

I think this image concludes the issue pretty good. Be aware that those are project structures that are 100% copies of NI's CMH template. I simply added one VI to the second projects Message Queue.lvlib

I'm unsure what @raphschru means by "native yellow functions", but I think the answer to "why it got implemented like that" is because (in my somewhat humble opinion) Asynchronous Channel Wires are so much more mnemonic, sensible, and "task-driven" than queues and notifiers, with left-to-right "data flow" of the data in the Channel Wire, additional sensible additions such as the sentinels built into the Stream Writers and Readers. To provide this functionality, I gather, necessitated "building tailored implementation code based on the user's "data going into the wires" that were better

I've been using my own version of the Channel Message Handler, but with an Enum in place of a String for the "Message", meaning every CMH (and I typically have 2-4 running simultaneously on my one-laptop-screen-sized "Main" block diagram) needs its own support functions to manage the Messenger Channels, which would (I can suppose) "clog up" a Project with code that needed to be saved with it (as opposed to be "sensed and (re-)generated, if need be, when loaded when the Project is opened by LabVIEW").

One problem I have with the Templates provided by NI is "all the Bells and Whistles" that come along with a fairly simple concept, asynchronous transfer of data through channel wires according to particular "rules". The CMH Template yields a very complex diagram, and if you "mess with it" by adding to the Class that governs the structure and behavior of the CMH, all bets are off if your modification will work without trouble.

Although I have limited experience with it, I would suggest @Quiztus2 consider the DQMH (Version 7.0 has recently been released, and it is supported by a growing consortium of DQMH users and developers).

What I call "native yellow functions" are all the LabVIEW nodes that have no block diagram or front panel you can open, because they are likely implemented using native C/C++. Maybe there is a better name (LabVIEW primitives ?). The ones I am particularly interested in are the polymorphic ones, examples:

c80f0f1006
Reply all
Reply to author
Forward
0 new messages