How to launch an application from a variable user?

how-to
composer

#1

Hello!

I want all my salespeople to be able to launch the same powerpoint presentation from within Intuiface. I know how to launch an external application but I don’t know how to make it variable. For example: the presentation on Frank’s laptop would be located here: “C:\Users\Frank\Onedrive\MyPresentation2018.pptx” But the path to Tom’s presentation would be: “C:\Users\Tom\Onedrive\MyPresentation2018.pptx”
The username is the variable in this case. How do I deal with this? Furthermore, we decided not to integrate the ppt in intuiface, so we can reduce the overall size of the experience.

Thanks in advance,

Kind regards,

Nicholas


#2

Hello Nicholas,

On way to do it if you know exactly where the files are for each computer would be to:

  • make an Excel file referencing the full path to the document for each computer
  • use the System Info Asset in order to get the computer name
  • use an Excel Interface Asset and filter it according to the computer name and get the proper file path to open

Unfortunately, this is a computer name related way to do it.

If you want a user related way you have to make the user identify himself one way or the other. You can for instance make him type his name/code in a Text Input and filter with it or generate a drop-down list from an Excel file to make him pick his own name (and get the right file).

Regards,

Alex.


#3

Hi Alex,

Thank you for your answer! What you’re advising are two very interesting methods! Let’s say I have 20 presentations and 10 salespeople, each with their own laptop and player. All the presentations are being managed from our collective Onedrive. This way only one person is responsible for keeping the presentations up-to-date. How can I bind a presentation file to Intuiface knowing that each external path will be different because all my salespeople have different names on different laptops.

I hope I was able to explain it more clearly? So in fact, I’m searching for a variable for the word “Tom” in the filepath below:

“C:\Users\Tom\Onedrive\MyPresentation2018.pptx”

If I try to use the computer name related way, then I will end up with the same problem as before. This is because our files are located in our Onedrive. The Onedrive is located under C: users-> “UserName” -> Onedrive. This is not under “public”.

If I try to use the user related way, I’m assuming you mean different users on the same computer? Unfortunately, this is not the case as I explained above.

It’s difficult to explain, I hope you understand. If not, feel free to ask.

Thanks in advance,

Kind regards,

Nicholas


#4

Hi Nicholas,

Here is a sample of what your Excel file may look like:

Import it in your experience then you will be able to:

  • get the Computer name with System Info Asset
  • filter your Excel File (for instance “when scene is being entered”) with that computer name
  • use a Document Asset and bind document file to the FilePath cell of row#1 of your Excel File (which, after filtering, ill be the unique one corresponding to the device … hence, to the person)

I just tested it on Composer with Player for Windows and it works nicely but be aware that using absolute path for files it’s not something we recommend (you will get a popup about it) and may not work on non-windows devices.

Regards,

Alex.


#5

Hi Alex,

Thanks again for answering. I understand what you’re saying but i’m still trying to figure out how to implement this. Since my excel structure is different, please see image below. Basically this excel sheet becomes an asset grid where every presentation is represented by one icon. This way I can also filter them. If I were to follow your method, I’d have to place every presentation in a separate tab, am I right? I would also lose the ability to filter or to represent them in an asset grid?

Thanks in advance,

Nicholas


#6

As you dont want to integrate the ppt in intuiface, it just makes it harder as I think before you do the excel file, first and foremost you will need a central location to store the ppt files, which is accessible to everyone from anywhere. Storing them on a local computer will not suffice. therefore… the file path with C:\Users will not work, as that is a local path specific to a computer.

If you can get a central location and file path, then you dump all of the ppts in there and name them, and put those file paths into the excel. Then use this name filter to filter out the specifics like Alex mentioned they type in their name/ keyword that will act as the filter for the excel.

As a work around, you can partially integrate it into intuiface, like you would normally do with excel. Put in the file paths, name, etc. Import the excel to intuiface but dont put it in anyscene, just use the binding. That way when you publish the XP, all the ppts get published too as they will be included in the intuiface structure. Now that you have them in a central location everywhere, use whatever filter you want.


#7

Does it means you have multiple pptx files for a seller ? (sorry, I may not be understanding it well)

If it’s the case, instead of binding row#1 filepath cell to a single document, make an asset grid using the Excel File as data feed for a collection, and filter by computer name to get all the needed file pathes. In you collection use a template containing a Document and bind it to the file path.

By doing this, you will get a collection (for instance Asset Grid) filtered for a computer/seller displaying his personal list of pptx files, stored locally.

However, I tend to agree with @melvyn_br, it would be really more easy, safe and maintainable to have a centralized store location, common for every user as you want them to use the same Intuiface Experience.


#8

Yes indeed, every salesmen has multiple presentations, based on the client’s needs.

Thank you both for your answers, they are extremely helpful and I will take a moment to consider the presented options with my colleagues.

Kind regards,

Nicholas


#9

Quick question: Is it also possible to include the variable (%Username%) in the file path itself? For example:

“C:\Users\ %Username% \Onedrive\MyPresentation2018.pptx”

I’ve read somewhere that by adding the “%” the username would become a variable. Although, I don’t know if this is the case with Intuiface? Perhaps this only works with “.bat” files?

Thanks again, we’re still considering the options.

Kind regards,

Nicholas


#10

I would try and avoid the file path you mention above, as you more likely to run into problems as each computer maynot have that specific filepath. Like I mentioned earlier, reference the file from within the intuiface presentation folder, that way it all goes to everyone and remains the same file path. This method is a bit more work initially, but in the long run, its more stable.


#11

Just sharing one more potential method that we experimented with one of our clients. We had a similar challenge. How to make a local Intuiface XP aware of data that is being updated on Onedrive. We installed a utility called Mirror Folder and configured it to mirror Onedrive content into a specific folder inside the Intuiface XP structure.
In this way, Intuiface knew that it always found the necessary files inside its project structure.

The downside of it is that you need to run in the background a small utility at all times.