[PD] Advice on PD versions for classroom deployment

Dan Wilcox danomatika at gmail.com
Sat May 25 11:05:42 CEST 2019

> I would welcome advice about a strategy to deploy a monolithic "same
> everywhere" version of PD. Ideally, this would be with a set of
> libraries that are fixed at a given version and work the same on MacOS
> and Windows.

Pd-vanilla + a list of libraries to install via Deken would work.

> Alternatively, would there be a way for me to install PD-vanilla and
> Deken install some libraries in such a way that I can deploy a copy
> with all dependencies in a single folder?

If "single folder" is a hard requirement, then Christof's suggestion of using (abusing) the extra directory would work, albeit is considered bad practice at this point. This hides the library mechanisms form the user and almost guarantees they will be *fully* dependent upon your custom distribution as opposed to providing them a short how-to on using deken and encouraging usage of [declare]. The distributed library approach is the future at this point, so I see less of a reason of building a "custom extended." At the most, you could lobby for an "extended" deken metapackage which installs a long list of common libs.

Pd vanilla has a newish "Documents directory" feature which can automatically create a "Pd" directory in the user's home/Documents directory. This also creates an "externals" subdirectory which becomes the designated place for deken to install to. Naturally, you can manually copy all externals there as well. Although this feature is annoying* to advanced users, it was a major suggestion by a couple of people on the forum who, like yourself, teach Pd classes. Having taught myself, I also saw the utility of providing a "patch & external home" akin to Processing's sketch directory.

(* The documents directory feature is *very* easy to disable, either from the welcome dialog or within the Path dialog.)

> In essence, the constraints have to do with the fact that software
> installations are managed by our IT team, so I need to give them a
> specific set of instruction and be reasonably guaranteed that the
> results will work. Neither students (nor I) can I install software on
> those machines.

I assume each user account has write access it its own home folder? If so, either Pd can create the directory when they first run Pd and/or you can instruct the students to place the folder themselves. (Which reminds me that we could add a button to automatically open the folder from the Paths dialog.)

The workflow would be like this:

1. Install Pd:
  - macOS: copy Pd-0.49-2.app somewhere win the user home dir, default place for this would the per-user Applications directory: ~/Applications
  - Windows: copy Pd app dir somewhere in the user home dir, ~/Desktop is fine as long as they can find & launch it

3. Create Pd Documents Dir:
  - automatically on first run: Pd will ask when it is first run if ti should create this directory;
  - manually in Pd: On the Path dialog and enable the Pd Documents directory if it's not already.

2. Install libraries:
  - without deken: You prepare an "externals" dir with the libraries you want them to have access to and provide it as a zip, etc. Then have them copy these into the Pd document dir.
  -with deken: Give them a list of library names to install; & walk them through installing the list via deken. It will automatically install them to the Documents/Pd/externals dir

If it were me, I would actually provide the Pd documents dir within a zip with both externals *and* prepared lesson & example patches, ready to go. When the documents dir is enabled, the GUI open & save dialogs automatically start from with in the Documents dir. So the students download Pd, place the zip in their ~/home/Documents and should be ready to go. You then need to show them how to use [declare], but that can be within a lesson patch. :)

If IT is not complete unhelpful, you could wrap up these steps into a script they could run. They would probably be more inclined to run it as opposed to doing things manually. :) OTOH, I will repeat that it's a good idea to familiarize students to the libraries process.

> It's also important to me to insure that students can
> bring their work to and from university to home, and that the work in
> progress that send me opens and works on my machine.

All the more reason, in my opinion, to teach them how to install libraries and use [declare].

Dan Wilcox
@danomatika <http://twitter.com/danomatika>
danomatika.com <http://danomatika.com/>
robotcowboy.com <http://robotcowboy.com/>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20190525/ec112eea/attachment-0001.html>

More information about the Pd-list mailing list