I am trying to figure out the relation between PRFile, MAFileModel,
MAFileDescription, and possibly others. They seem to duplicate a lot of information, such as mimetype and filename. I'm using the Pier-1.2 download. PRFile says it references an instance of MAFileModel, but a lot of test code for seems to get by without an MAFileModel. I've looked for references to the classes, but have found either extremely terse and trivial tests or the setupup for, e.g., defaultCSS. I also don't know which of the classes is intended for display, or how to display them. Initially, I just want to use these to display links to files that are on the disk. Presumably that will use MAExternalFileModel somehow. Later on, I may want to have pseudo files that include the ability to select a format in which to download the file or to display the file inline on the web page. Ross Boylan _______________________________________________ Magritte, Pier and Related Tools ... https://www.iam.unibe.ch/mailman/listinfo/smallwiki |
Hi Ross,
On Sun, Jan 31, 2010 at 4:46 PM, Ross Boylan <[hidden email]> wrote: I am trying to figure out the relation between PRFile, MAFileModel, Look at the class side of PRFile. Its in the descriptionFile method.
You really don't need to worry about all that in Pier I don't think. Just use the Add command and select PRFile from the combo box. Then edit the page to put a reference to it. Given that it is named MyFile the reference would look like +/MyFile+ (also given that it is added to the root page)
Hope this helps John
-- http://jmck.seasidehosting.st _______________________________________________ Magritte, Pier and Related Tools ... https://www.iam.unibe.ch/mailman/listinfo/smallwiki |
On Sun, 2010-01-31 at 19:33 -0500, John McKeon wrote:
> Hi Ross, > > On Sun, Jan 31, 2010 at 4:46 PM, Ross Boylan <[hidden email]> > wrote: > I am trying to figure out the relation between PRFile, > MAFileModel, > MAFileDescription, and possibly others. They seem to > duplicate a lot of > information, such as mimetype and filename. > > I'm using the Pier-1.2 download. > > PRFile says it references an instance of MAFileModel, but a > lot of test > code for seems to get by without an MAFileModel. > > > Look at the class side of PRFile. Its in the descriptionFile method. PRFile>>filename: and PRFile>>contents, for example, pass through to the file instance. > > I've looked for references to the classes, but have found > either > extremely terse and trivial tests or the setupup for, e.g., > defaultCSS. > > I also don't know which of the classes is intended for > display, or how > to display them. > > Initially, I just want to use these to display links to files > that are > on the disk. Presumably that will use MAExternalFileModel > somehow. > > > You really don't need to worry about all that in Pier I don't think. > Just use the Add command and select PRFile from the combo box. server. But PRFile itself has no display logic, and so I'm not sure how that gets hooked up. Is the idea to add PRFile as a child of the PRPage? > Then edit the page to put a reference to it. Given that it is named > MyFile the reference would look like +/MyFile+ (also given that it is > added to the root page) > > > Hope this helps > John > > > > Later on, I may want to have pseudo files that include the > ability to > select a format in which to download the file or to display > the file > inline on the web page. > > > Ross Boylan > > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > > > > -- > http://jmck.seasidehosting.st > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki _______________________________________________ Magritte, Pier and Related Tools ... https://www.iam.unibe.ch/mailman/listinfo/smallwiki |
On Sun, Jan 31, 2010 at 8:32 PM, Ross Boylan <[hidden email]> wrote:
That would probably take some custom code. Depending on how you would use it it could be a plain old Seaside component (easier) or a Pier component which would be a little more involved.
A PRFile is a structure, when added to the tree of structures that make up the site, Pier renders it with the proper PRViewComponent. Pier is very sophisticated that way.
Yes, exactly. Doing it this way, you can add all the files you like without writing any code. I.e. content management from the web browser.
-- http://jmck.seasidehosting.st _______________________________________________ Magritte, Pier and Related Tools ... https://www.iam.unibe.ch/mailman/listinfo/smallwiki |
In reply to this post by Ross Boylan
> I also don't know which of the classes is intended for display, or how
> to display them. MAFileModel represents a file in Smalltalk. It knows the filename, mimetype, size, contents, etc. MAExternalFileModel is no different, other than it stores the file contents externally to the image (see class comment). The location and naming of this file is managed automatically, you cannot change it. > Initially, I just want to use these to display links to files that are > on the disk. Presumably that will use MAExternalFileModel somehow. AFAIK other people have written MAFileModel subclasses that refer to a specific external file. Lukas > > Later on, I may want to have pseudo files that include the ability to > select a format in which to download the file or to display the file > inline on the web page. > > Ross Boylan > > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > -- Lukas Renggli http://www.lukas-renggli.ch _______________________________________________ Magritte, Pier and Related Tools ... https://www.iam.unibe.ch/mailman/listinfo/smallwiki |
On Mon, 2010-02-01 at 07:25 +0100, Lukas Renggli wrote:
> > I also don't know which of the classes is intended for display, or how > > to display them. > > MAFileModel represents a file in Smalltalk. It knows the filename, > mimetype, size, contents, etc. MAExternalFileModel is no different, > other than it stores the file contents externally to the image (see > class comment). The location and naming of this file is managed > automatically, you cannot change it. > > > Initially, I just want to use these to display links to files that are > > on the disk. Presumably that will use MAExternalFileModel somehow. > > AFAIK other people have written MAFileModel subclasses that refer to a > specific external file. > stored on disk. Making a new subclass to handle files originating on the server, in "random" directories, sounds straightforward. I remain puzzled by how to hook these up to output, as well as what the responsibility of PRFile is. I've been using a custom component to display the files, but since PRFile is a model it doesn't seem to belong there. I think a natural procedure would be to make a PRPage and then use addChild: to stick PRFile's into it. However, the list of files is dynamic (depending on what's in the directory). How can I handle that? Thanks. Ross _______________________________________________ Magritte, Pier and Related Tools ... https://www.iam.unibe.ch/mailman/listinfo/smallwiki |
> I hadn't realized that MAExternalFileModel was for an uploaded file,
> stored on disk. Making a new subclass to handle files originating on > the server, in "random" directories, sounds straightforward. That's the model of a file as a bytearray with a name and mimetype. > I remain puzzled by how to hook these up to output, as well as what the > responsibility of PRFile is. I've been using a custom component to > display the files, but since PRFile is a model it doesn't seem to belong > there. That's the model of a file anywhere in the Pier structure tree. As it was previously said, it refers to a MAFileModel. > I think a natural procedure would be to make a PRPage and then use > addChild: to stick PRFile's into it. That's what people do when they upload files through the web. > However, the list of files is > dynamic (depending on what's in the directory). How can I handle that? What directory? In Pier there are only structures that form a "virtual" directory tree of pages, files, seaside components, books, chapters, blogs, posts, etc. Lukas -- Lukas Renggli http://www.lukas-renggli.ch _______________________________________________ Magritte, Pier and Related Tools ... https://www.iam.unibe.ch/mailman/listinfo/smallwiki |
On Mon, 2010-02-01 at 20:43 +0100, Lukas Renggli wrote:
> > However, the list of files is > > dynamic (depending on what's in the directory). How can I handle > that? > > What directory? In Pier there are only structures that form a > "virtual" directory tree of pages, files, seaside components, books, > chapters, blogs, posts, etc. "directory" refers to a directory on the server's file system. The list of files presented by Pier is taken from the list of files in that directory. Files will appear and disappear, as well as changing contents. So the problem is that if I create a Pier page that is correct at one time, it won't necessarily be correct, in the sense of matching the contents of the directory on disk, later. Ross _______________________________________________ Magritte, Pier and Related Tools ... https://www.iam.unibe.ch/mailman/listinfo/smallwiki |
> "directory" refers to a directory on the server's file system.
> The list of files presented by Pier is taken from the list of files in > that directory. Files will appear and disappear, as well as changing > contents. Ok, I see. > So the problem is that if I create a Pier page that is correct at one > time, it won't necessarily be correct, in the sense of matching the > contents of the directory on disk, later. Yes, such a use case is not out-of-the-box supported. You'll need to do some programming here. Depending on how close you want to integrate it, you can create your own PRStructure subclass that handles this for you; or, as others already suggested, have a Seaside component that does something meaningful with the file directory. Lukas -- Lukas Renggli http://www.lukas-renggli.ch _______________________________________________ Magritte, Pier and Related Tools ... https://www.iam.unibe.ch/mailman/listinfo/smallwiki |
Free forum by Nabble | Edit this page |