[pmwiki-users] $UploadPrefixFmt and Attach files
Dominique Faure
dominique.faure at gmail.com
Fri Apr 4 09:40:58 CDT 2008
On Fri, Apr 4, 2008 at 2:28 PM, Patrick R. Michaud <pmichaud at pobox.com> wrote:
> On Fri, Apr 04, 2008 at 09:52:29AM +0200, Dominique Faure wrote:
> > On Thu, Apr 3, 2008 at 5:12 PM, Hans <design5 at softflow.co.uk> wrote:
>
> > > > I would like to be able to upload in some wiki groups
> > > > so the uploaded files are stored in
> > > > uploads/$Group/$Name/ folders, and in some groups in
> > > > uploads/$Group/ folders.
> > >
> > > > How do I configure this, and also have the Attach: markup working,
> > > > so that Attach:{$Name}.jpg will work in both cases, i.e. an image file
> > > > with the page name as file name will be displayed in the page without
> > > > needing a Group/ or Group/Name part.
> > >
> > > > Setting $UploadPrefixFmt should set the upload path, but it only
> > > > sets it if I also set in config.php
> > >
> > > [...]
>
> > I've already been trapped there while designing
> > http://www.pmwiki.org/wiki/Cookbook/LinkedResourceExtras, and this led
> > me to the conclusion that we're hitting there a design flaw or more
> > truely an implementation choice dictated for simplicity.
>
> Thanks. You're correct, when I implemented the upload feature I went
> for simplicity (because that's all I really needed at the time). And
> I've never needed anything significantly more complex so it has pretty
> much stayed the same.
>
>
> > For now, the attachment handling is only designed to work on a
> > wiki-wide basis. Having it working per group or per page is a bit more
> > difficult.
>
> One approach we (I?) could take in this situation would be to generalize
> $UploadPrefixFmt to be an array instead of a single value. For example,
> we could have:
>
> $UploadPrefixFmt = array('/$Group/$Name', '/$Group');
>
> which says to look in a per-page upload store first, and then
> look in the per-group directory. Of course, we also need a way
> for ?action=upload to know where to store an attachment (since it
> may be different from one group to the next), but that could be
> handled by introducing a new configuration variable that is set as a
> per-group or per-page customizations.
>
> Pm
>
Then, couldn't we reuse the $UploadPrefixFmt array itself:
# configuration init
$UploadPrefixFmt['MyGroup.MyPage'] = '/storage/for_my_page';
$UploadPrefixFmt['AnotherGroup.'] = '/another_storage/$Name';
# core init
$UploadPrefixFmt['$FullName'] = '/$Group';
with the keys giving the naming scheme to use at upload, and the
related values taken as a sole array defining a search path by itself.
--
Dominique
More information about the pmwiki-users
mailing list