Summary | IMP namespace support |
Queue | IMP |
Queue Version | HEAD |
Type | Bug |
State | Resolved |
Priority | 3. High |
Owners | Horde Developers (at) , slusarz (at) horde (dot) org |
Requester | slusarz (at) horde (dot) org |
Created | 08/11/2005 (7251 days ago) |
Due | |
Updated | 04/28/2006 (6991 days ago) |
Assigned | 08/25/2005 (7237 days ago) |
Resolved | 10/13/2005 (7188 days ago) |
Github Issue Link | |
Github Pull Request | |
Milestone | 4.1.0 |
Patch | No |
http://lists.horde.org/archives/imp/Week-of-Mon-20060417/045056.html
and the rest of that thread.
State ⇒ Resolved
This report is starting to get quite lengthy and I think it is about
time for us to close it out. The namespace code seems to be pretty
stable at the current stage - stable meaning that it works fine
w/"average" IMP usage. It seems like the bugs that are being identifed
now are the fringe cases and not showstoppers. Therefore, all future
bug reports dealing with namespace should be filed in a new ticket
rather than in this ticket.
******************************
Horde with the exception of the file: imp/lib/IMAP/Tree.php as the
aforementioned error keeps Horde and IMP screens from rendering.
framework/IMAP/IMAP/Tree.php file, or you are using some kind of
caching system that needs to be flushed. this is not an issue with
the code.
"hierarchical after/below" sent-mail is selected.
issue more fully (w.g. what you are seeing vs. what you expect to see)
to allow us to debug.
"hierarchical after/below" sent-mail is selected.
Horde with the exception of the file: imp/lib/IMAP/Tree.php as the
aforementioned error keeps Horde and IMP screens from rendering.
(Horde's page has the INBOX frame as one of it's views.) Here is the
nitty gritty:
Horde (horde) 3.1-cvs
Mail (imp) H3 (4.1-cvs)
httpd 2.0.52 (Apache)
dovecot 0.99.11
RedHat Ent. 4.1
On a side note, I'd like to thank the developers for such a great
product and all their hard work!
Channing
New Attachment: Document1.txt
any other mail client that shows all namespaces if they are empty for
me.
set a little bit strange : on entry there is the proper value from
the prefs - after changing the identity, the mail-folder
"hierarchical after/below" sent-mail is selected.
is trying to create folder ".Sent Mail" instead of "Sent Mail".
when changing the identity in compose.php, the sent-mail folder is set
a little bit strange : on entry there is the proper value from the
prefs - after changing the identity, the mail-folder "hierarchical
after/below" sent-mail is selected.
viewable public mailboxes under it, and user don't have permission to
create one?
least that I am aware of). Disable the namespace in your IMAP server
if you do not want to broadcast the namespace to the user.
any other mail client that shows all namespaces if they are empty for
me.
is trying to create folder ".Sent Mail" instead of "Sent Mail".
viewable public mailboxes under it, and user don't have permission to
create one?
that I am aware of). Disable the namespace in your IMAP server if you
do not want to broadcast the namespace to the user.
namespace isn't put in front of the entered folder name.
namespace isn't put in front of the entered folder name.
namespace isn't put in front of the entered folder name.
is trying to create folder ".Sent Mail" instead of "Sent Mail".
2) Is it possible to hide "user" namespace if user don't have any
viewable public mailboxes under it, and user don't have permission to
create one?
In my logs getting PHP Fatal error: Call to undefined function:
imapchildrensupport() in /var/www/html/horde/imp/lib/IMAP/Tree.php on
line 81, referer:
http://blahblah.
Yet in my horde/framework/IMAP/IMAP/Tree.php I see
1827 function IMAPchildrenSupport($support)
1828 {
1829 $this->_childrensupport = (bool) $support;
1830 }
New Attachment: Client.php.patch
update from CVS:
1) Just after login: Fatal error: Call to undefined function:
_generatesid() in /var/www/html/horde/imp/lib/IMAP/Client.php on line
542 in portal page.
2) Warning: explode(): Empty delimiter. in
/usr/share/pear/Horde/IMAP/Tree.php on line 404
and
Warning: strpos(): Empty delimiter. in
/usr/share/pear/Horde/IMAP/Tree.php on line 1153
in folder navigator.
available on the imap server.
Internet Draft
http://www.ietf.org/internet-drafts/draft-ietf-imapext-list-extensions-13.txt). This extension is supported by Cyrus, Dovecot,
and
CommunigatePro.
imap server for purposes of the 'namespace' and 'capabilities'
commands, which are not supported by the current c-client imap_*
functions. the LISTEXT command is probably already used internally by
the imap_list/imap_lsub functions and, in any case, we exclusively use
the imap functions to obtain the folder information from the imap
servers.
Internet Draft
http://www.ietf.org/internet-drafts/draft-ietf-imapext-list-extensions-13.txt). This extension is supported by Cyrus, Dovecot, and
CommunigatePro.
CAPABILITY check for the "CHILDREN" extension?
CAPABILITY check for the "CHILDREN" extension?
- can you verify this?
(INBOX/drafts and SPAM) at my current installation.
I like the "quick suggestion" of Michael Slusarz (disable "Strip
personal namespace") - it is working fine for me (only in
imp/folders.php it is not possible to expand INBOX).
My sent-mail Folder problem still exists.
unsubscribed - or else, how is an end user supposed to know that
namespace even exists (i.e. to create folders in)?
folders a displayed at the same level as the namespace their are
created in?
it was not the solution.
Also, the empty folder '#user' is *supposed* to be there when viewing
unsubscribed - or else, how is an end user supposed to know that
namespace even exists (i.e. to create folders in)? This is sort of an
offshoot of
Bug 1550.argument why it needs to be this way in this bug thread. If you want
to go back to the "old" way locally, you can comment out the code
block (approx. 10 lines) in _makeMailboxTreeElt() right after the
comment "* Strip personal namespace. */".
unsubscribed folders". By the way, I have mystical empty folder "user"
in unsubscribed folders list.
INBOX/sent-mail for an identity as sent mail folder, a new folder
sent-mail (not below INBOX) is created when saving the preference.
Also I am not able to set the draft-folder to INBOX/drafts - after
saving and looking again at the " Server and Folder Information" the
setting for the drafts folder is again "Create a new drafts folder".
Both things work, when the selected folder is not a child of my INBOX.
Horde from about 20 minutes ago, Cyrus 2.2.12 on Fedora Core 2, Apache
1.3.33, PHP 4.3.11
Cyrus imap.
UWash imapd 2004a
Namespace response from server:
* NAMESPACE (("" "/")) NIL (("#shared/" "/"))
Horde (horde) 3.1-cvs as of 2005-09-18 23:11
Mail (imp) H3 (4.1-cvs) as of 2005-09-18 23:11
cyrus-imapd-2.2.12
postfix-2.1.3
default namespace (dovecot).
As for the mailbox level concerns - I believe I've already made the
argument why it needs to be this way in this bug thread. If you want
to go back to the "old" way locally, you can comment out the code
block (approx. 10 lines) in _makeMailboxTreeElt() right after the
comment "* Strip personal namespace. */".
sense, and is actually how every other mail client works.
However I'm concerned about the second issue that I was discussing in
my previous comment. As you can see here, on bugs.horde.org, a lot of
users are concerned about why folders are displayed different (and
IMHO not logical way). Today, after Horde/IMP upgrade, I recieved a
couple calls from my users too. Their are saying that "someone moved
their folders out of their places".
related actions are working properly for me now on Cyrus. And the
changes shouldn't break anything else, unless you use folders from an
empty namespace, i.e. a global mailbox as the spam folder on Cyrus.
provide portable default values for the folder prefs in this case.
much seals the deal that we will have to store all preferences with
their full mailbox name. Any other solution would be a hack.
Thus, it looks like some kind of upgrade script needs to be created.
solve it:
IMP::getNamespace() is assuming that a folder that doesn't belong to a
specific namespace belongs to the empty namespace, if one exists. With
Cyrus, the shared namespace is empty by default, i.e. if not using
"altnamespace".
This causes IMP::folderPref() to not match preference folders like
"Trash" with the personal namespace which would be the correct
outcome, but the shared namespace. As a result, the folder preferences
aren't prefixed with "INBOX.".
I go to Options -> Personal Information and try to set my "Sent mail
folder" to sent-mail, I get the following error:
The folder "sent-mail" was not created. This is what the server said:
Invalid mailbox name.
sent-mail is actually INBOX.sent-mail, but appears at the same level
as INBOX in the drop down.
Problem with auto-creation of sent-mail folder has disappeared. It works fine.
But there is still problem with creation of folder in INBOX folder.
When I want to create folder "test" under INBOX folder it writes me an
error
The folder "INBOXtest" was not created. This is what the server said:
Invalid mailbox name.
There is no writed delimiter between INBOX and test.
in the preferences it seems, that only folders at the same level as INBOX will
be saved as settings.
For example : My SPAM-Folder is at the same level as INBOX and is saved -
my Drafts-Folder lies below INBOX (= INBOX/drafts) and is not saved as pref.
Also if I want to set the sent-mail folder for an identity :
If I select INBOX/sent-mail from the list, a new folder sent-mail
(not as child
of INBOX !) is created and so it is also saved as preference.
everything else is fine
Cyrus 2.2.12 with unixhierarchysep: yes on Fedora Core 2, Apache 1.3.33,
PHP 4.3.11 and the latest Horde from CVS
kind regards
Stefan
problem. I use for imap courier. Can you write me, how can I help you
to debug it?
I mean that problem is in missing delimiter after "INBOX" It uses
"INBOX" instead of "INBOX."
access denied" error. Or when deleting - "could not create trash
folder: access denied".
where I can insert debug code is welcome.
This is the expected (and cleaner) behavior. Short explanation:
namespaces are not something the end user should be concerned with.
Therefore, we should always show personal namespaces in the same
location (rather than showing these folders under INBOX on one server
and on the same level as INBOX on another).
email client programs (Outlook Express, The Bat, etc) show folders "my
way". As you said, namespaces are not something the end user should be
concerned with (in other words they don't care how folders will be
shown exactly), but advanced users always want to know exact structure
of their folders and keep it in mind during mailbox organization and
maintenance.
By the way, what happens if I would create mail folder outside my
personal namespace? Will it be shown on the same level as INBOX?
Not sure what you mean by 'not converted'. The actual preference
values stored in the prefs backend will not be touched. Instead, IMP
automagically adds personal namespace information (if needed) when
retrieving and strips this information (if needed) when storing. The
current code works for me in all the test cases I can figure out and
on two different configurations of the default namespace (a blank
namespace and the 'INBOX.' namespace) so if this is still not working
for you (or anyone else) you are going to have to start helping debug
since there is no more code that needs to be added, only bugfixing at
this point.
As to your second point - you need to read the rest of the thread.
This is the expected (and cleaner) behavior. Short explanation:
namespaces are not something the end user should be concerned with.
Therefore, we should always show personal namespaces in the same
location (rather than showing these folders under INBOX on one server
and on the same level as INBOX on another).
Another problem: all folders are shown, but in bad hierarchy. For
example all my folders phisically on server are under INBOX. But in
IMP they are shown on the same level as inbox.
State ⇒
folder, it writes an error message
The folder "INBOXtest" was not created. This is what the server said:
Invalid mailbox name.
There is missing delimiter
shown in the folder list although they are shown in the search box and
selection of folders in the mailbox view. Tracing the code shows LSUB
"" % instead of LSUB "" * to list all folders.
still not expandable.
MS: Will look into this.
- Shared/user namespaces are shown even if empty, ie. without folders
in these namespaces.
MS: This is desired behavior. If we don't show the namespace when
empty, a user may not even know it exists and that they may possibly
be able to create new folders in it.
- Expand all/expanding INBOX doesn't work anymore with one server.
Pref there is to collaps all folders by default.
MS: I think I fixed this a few days ago (I could reproduce it then,
but since I committed my fixes it has worked for me since).
- Refreshing the folder list doesn't work anymore. Some folders had
been created externally under a container, but they don't show up
after clicking refresh.
MS: I can't reproduce this.
From the 9/1/05 post -
#1is invalid as this is now the expected behavior.and the Mail summary block shows the following warnings:
Notice: Undefined variable: name in
/etc/httpd/htdocs/horde/framework/IMAP/IMAP/Tree.php on line 1713
Notice: Undefined index: v in
/etc/httpd/htdocs/horde/framework/IMAP/IMAP/Tree.php on line 1070
Notice: Undefined index: v in
/etc/httpd/htdocs/horde/framework/IMAP/IMAP/Tree.php on line 1079
On UWash, Inbox doesn't show up on the sidebar. Also folders aren't
showing the expand icon. Public shared folders are working correctly.
The IMAP_Tree seems to be working fine.
On Cyrus, Inbox, Personal namespaces, and Public shared namespaces all
seem to be working fine in the sidebar and the IMAP_Tree.
prior comment still remain.
#3is the case for any "special" folderslike sent-mail, drafts, and trash. The drops downs contain them, but
outside of INBOX, so it seems they cannot be found or created.
inbox in the left hand sidebar menu
3) IMP cannot save a copy in INBOX.sent-mail per preferences. It
generates the error:
The folder "sent-mail" was not created. This is what the server said:
Invalid mailbox name.
These are the issues I still (or since recently) experience:
- Subfolders of shared/user namespaces don't show up anymore.
- Shared/user namespaces are shown even if empty, ie. without folders
in these namespaces.
- Expand all/expanding INBOX doesn't work anymore with one server.
Pref there is to collaps all folders by default.
- Refreshing the folder list doesn't work anymore. Some folders had
been created externally under a container, but they don't show up
after clicking refresh.
expanded again. The drop-down list in IMP works fine for me (all
levels are displayed with correct indentation). Create/rename folder
from the folders screen should work. Still TODO: appending the
default namespace to all mailbox preference values.
My mail server is the courier suite 0.48.1
1) All child folders of my INBOX are now shown at the same level as
inbox in the left hand sidebar menu
2) In the sidebar menu, the child folders are only shown for the
first level under Inbox and no deeper
3) IMP cannot save a copy in INBOX.sent-mail per preferences. It
generates the error:
The folder "sent-mail" was not created. This is what the server said:
Invalid mailbox name.
From slusarz's post to the list on 8/23, I'm not sure if this is
irrelevant. Sorry if it is. My folders.php screen also shows all the
child folders at the same level as INBOX, but it shows all depths.
clicking refresh. The sidebar still only shows the top level folders,
and the drop down list still works, but still with one indention level
too much.
namespace with the preference, we can no longer provide portable
default values for the folder preferences.
come up with a solution on how we want to convert the current prefs -
makes the most sense to mask the namespaces for all personal
namespaces (Jan's proposal for prefs storing uses this same argument)
and show them on the same top-level as INBOX rather than as
subfolders. this tracks with RFC 2422 which states:
If an INBOX exists for a user, it MUST appear within the user's personal
namespace.
But it should be the same in the drop down list too then.
come up with a solution on how we want to convert the current prefs -
whether we want to implement the system Jan proposed on dev@ or
whether we want to convert all those preferences via script, etc. So
right now, while in testing mode, this kind of stuff will have to be
changed by hand.
it once and it makes no overhead.
State ⇒ Assigned
As for the polling prefs - those are going to be messed up until we
come up with a solution on how we want to convert the current prefs -
whether we want to implement the system Jan proposed on dev@ or
whether we want to convert all those preferences via script, etc. So
right now, while in testing mode, this kind of stuff will have to be
changed by hand.
As for the hierarchy issue - this is actually intended behavior. It
makes the most sense to mask the namespaces for all personal
namespaces (Jan's proposal for prefs storing uses this same argument)
and show them on the same top-level as INBOX rather than as
subfolders. this tracks with RFC 2422 which states:
If an INBOX exists for a user, it MUST appear within the user's personal
namespace.
As for the expansion stuff, that was the last bit of code I worked on
yesterday and probably needs additional tweaking.
In the folder view, all top level folders are on the same level like
INBOX, they used to be children of INBOX. Only polled folders are shown.
That made me think, I clicked on Expand all, now I get more folders
but still not all, and I get a lot of: "Notice: Undefined index:
INBOX.horde.apps in /home/jan/headhorde/framework/IMAP/IMAP/Tree.php
on line 489". The user. namespace is missing completely. Clicking on
Refresh kills the folder list completely, only the INBOX and virtual
folders stay.
The sidebar only shows the top level folders, also on the same level
like INBOX, even after reloading the folder view.
The drop down list show all folders, including the user. namespace, in
the correct hierarchy. It used to show the INBOX children on the same
level, which made it easier to navigate through the list.
After refreshing the poll pref, refreshing the folder list, loggin
out, and logging in again, I now see all top level folders, even
including the containers and other top level entries that missed
earlier. But all folders and containers that have children show up
expanded, but without children.
If it helps and you need a Cyrus server to test with, we can probably
arrange something.
and access all my folders again. Thanks!
too. While I still can't see any subfolders below my inbox, in
"Folders" at least my inbox shows up again which it didn't before.
Bug 2459. This issue has been resolved.I am running about as vainilla as a courier config can be and I have
no conflicting preferences, no defined namespace, etc. I hoped that I
would slip by but no luck ;) I can see all my mail folders from imp
and can access the messages but no manipulation.
This is from a cvs update of a couple hours ago.
Cyrus IMAPd 2.2.12.
Entering "Folders" and selecting "Expand all" causes this error:
Invalid argument supplied for foreach() in
/usr/lib/php/Horde/IMAP/Tree.php on line 1518
preferences.
mistakenly got into that commit. Reverted in CVS.
http://cvs.horde.org/diff.php/imp/templates/message/headers.inc?r1=2.55&r2=2.56&ty=u
I reverted and everything is OK now.
Last commit works normal in my environment (Cyrus IMAP Server 2.2.3
on Redhat Enterprise Linux 3). I can see all my folders, I'm not using
shared folders. However I can't see any attachments in messages. I
haven't seen any commits for MIME so I think this will be connected.
altnamespace, but it works fine for me at home.
I have one user on Cyrus with only an INBOX and no other mailboxes.
They have access to one folder shared by another user. When they login
to IMP, they see nothing listed where mailboxes should be. The response
to the NAMESPACE command is:
a001 NAMESPACE
* NAMESPACE NIL (("~ Other Users." ".")) (("~ Public Folders." "."))
a001 OK Completed
Other users on my server with an INBOX and plenty of folders of their
own, but no access to other users folders (besides public folders), have
a NAMESPACE response of:
a002 NAMESPACE
* NAMESPACE (("" ".")) NIL (("~ Public Folders." "."))
a002 OK Completed
The folders show up normally in IMP for these users.
Both my folders and namespace parameters were '' in
imp/config/servers.php before.
State ⇒
Priority ⇒ 3. High
Type ⇒ Bug
Summary ⇒ IMP namespace support
Queue ⇒ IMP
IMAP namespaces and delimiters through the new IMP_IMAPClient::
library. As of 8/10/2005 it is a known issue that various namespaces
other than the base namespace do not seem to be working correctly.
Additionally, several people have reported problems with the delimiter
not being set correctly.