You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by Pierre-Arnaud Marcelot <pa...@marcelot.net> on 2010/12/10 16:28:32 UTC

[Studio] Switch the 'default' property value of the LDIF Editor extension to 'false'

Hi Dev,

I'm facing an interesting issue in the writing of the Apache DS 2.0 Configuration Editor.

As the ApacheDS' configuration is now based on an LDIF file, Studio's LDIF Editor always show up when opening the 'config.ldif' file from disk.

This is due to the fact that the 'default' property value is set to 'true' in the LDIF Editor extension definition.

It is defined as is in the following file, '[Studio Checkout]/plugins/ldifeditor/plugin.xml': 
>   <extension
>          point="org.eclipse.ui.editors">
>     <editor
>           class="org.apache.directory.studio.ldifeditor.editor.LdifEditor"
>           contributorClass="org.apache.directory.studio.ldifeditor.editor.LdifEditorContributor"
> ======>   default="true"
>           extensions="ldif, ldiflog"
>           icon="resources/icons/ldifeditor.gif"
>           id="%Editor_LdifEditor_id"
>           name="%Editor_LdifEditor_name"/>         
>    </extension>

I'd like to pass this value to "false" in order to allow the ApacheDS 2.0 Configuration Editor to be opened specifically if the filename is 'config.ldif'.

The LDIF Editor will continue to be opened for any LDIF file except if the name of the file is 'config.ldif'.

Any objection?

Thanks,
Pierre-Arnaud

Re: [Studio] Switch the 'default' property value of the LDIF Editor extension to 'false'

Posted by Emmanuel Lecharny <el...@gmail.com>.
On 12/10/10 5:00 PM, Pierre-Arnaud Marcelot wrote:
> If yes, I have the possibility to pre-scan the file and validate or invalidate the editor for a particular given file (but this has to be as lightweight as possible, especially is there are multiple editor candidates).
> Or, we could also rename the file to 'adsconfig.ldif' to avoid name collisions.

IMO, we should do both. Renameing the file to ads-config.ldif might 
help, but checking its content is certainly a smart idea.


-- 
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com


Re: [Studio] Switch the 'default' property value of the LDIF Editor extension to 'false'

Posted by Pierre-Arnaud Marcelot <pa...@marcelot.net>.
I quickly benchmarked the cost of the file check, it's almost insignificant...
It takes around 50ms to validate/invalidate a file (checking the first 10 first entries)...

Our LdifReader is quite fast! :)

Regards,
Pierre-Arnaud

On 10 déc. 2010, at 17:19, Pierre-Arnaud Marcelot wrote:

> 
> On 10 déc. 2010, at 17:10, Kiran Ayyagari wrote:
> 
>> On Fri, Dec 10, 2010 at 6:00 PM, Pierre-Arnaud Marcelot <pa...@marcelot.net> wrote:
>>> 
>>> On 10 déc. 2010, at 16:49, Kiran Ayyagari wrote:
>>> 
>>>> On Fri, Dec 10, 2010 at 5:28 PM, Pierre-Arnaud Marcelot <pa...@marcelot.net> wrote:
>>>>> Hi Dev,
>>>>> I'm facing an interesting issue in the writing of the Apache DS 2.0
>>>>> Configuration Editor.
>>>>> As the ApacheDS' configuration is now based on an LDIF file, Studio's LDIF
>>>>> Editor always show up when opening the 'config.ldif' file from disk.
>>>>> This is due to the fact that the 'default' property value is set to 'true'
>>>>> in the LDIF Editor extension definition.
>>>>> It is defined as is in the following file, '[Studio
>>>>> Checkout]/plugins/ldifeditor/plugin.xml':
>>>>> 
>>>>>  <extension
>>>>>         point="org.eclipse.ui.editors">
>>>>>    <editor
>>>>>          class="org.apache.directory.studio.ldifeditor.editor.LdifEditor"
>>>>> 
>>>>> contributorClass="org.apache.directory.studio.ldifeditor.editor.LdifEditorContributor"
>>>>> ======>   default="true"
>>>>>          extensions="ldif, ldiflog"
>>>>>          icon="resources/icons/ldifeditor.gif"
>>>>>          id="%Editor_LdifEditor_id"
>>>>>          name="%Editor_LdifEditor_name"/>
>>>>>   </extension>
>>>>> 
>>>>> I'd like to pass this value to "false" in order to allow the ApacheDS 2.0
>>>>> Configuration Editor to be opened specifically if the filename is
>>>>> 'config.ldif'.
>>>> hmm, this might confuse users who are connecting to other servers(and
>>>> they have accidentally trying
>>>> to open their custom ldif file named 'config.ldif' ).
>>> 
>>> Are there any other servers using 'config.ldif' as default configuration file?
>>> 
>> it is not that other servers have a special file named 'config.ldif' ,
>> any ignorant user can create
>> a new ldif file and save it as config.ldif and he will be surprised to
>> see a error popup while trying to
>> open it in studio.
> 
> I understand, you're probably right.
> From a user POV, that makes sense.
> 
> 
>>> If yes, I have the possibility to pre-scan the file and validate or invalidate the editor for a particular given file (but this has to be as lightweight as possible, especially is there are multiple editor candidates).
>> this is an option but I would prefer not to do any such checks while
>> opening a file with
>> plain File -> Open option.
> 
> I think that's the way to go. It's really a lazy-implementation and should only be triggered for files named 'config.ldif'.
> That's the way Eclipse handles a lot of specific formats.
> 
> 
>>> Or, we could also rename the file to 'adsconfig.ldif' to avoid name collisions.
>>> 
>>>> Can we have a "Open With" or something similar tab to open the config
>>>> file with different editor?
>>> 
>>> This is already provided a standard functionality for file in the workspace (as in the Java perspective), but not when you open a file from the 'File > Open...' menu item.
>>> In that case, Eclipse goes through a list of editor candidates based on their extension definition (supported extensions, supported filenames, priority) and tries to find the good one.
>>> 
>> I would prefer to leave this default functionality intact and let user
>> decide if he wants to open
>> the configuration ldif file with a plain ldif editor or with our
>> configuration editor.
> 
> The problem is that he can only decide that if the file is in his workspace (Studio installed in Eclipse).
> In the RCP app, there's no workspace involved and we only have the 'File > Open...' menu item to open files from disk.
> 
> That's why I think our only option is to check if the file starts with the correct 'ou=config' and 'ads-directoryServiceId=default,ou=config' entries.
> It will excluded files that should not be open with the Configuration Editor.
> 
> 
>>>> P.S:- This open a custom editor if file name is 'config.ldif' reminds
>>>> me of classing linux windowing
>>>>        environments which sometimes *hard* to predict why they are
>>>> crashing or behaving
>>>>        differently. It turns out, that it is due to some casing of
>>>> letter names of a file or other
>>>>        but leave no clue to the user about what it is expecting.
>>>> 
>>>> --
>>>> Kiran Ayyagari
>>> 
>>> 
>> 
>> 
>> 
>> -- 
>> Kiran Ayyagari
> 


Re: [Studio] Switch the 'default' property value of the LDIF Editor extension to 'false'

Posted by Pierre-Arnaud Marcelot <pa...@marcelot.net>.
On 10 déc. 2010, at 17:10, Kiran Ayyagari wrote:

> On Fri, Dec 10, 2010 at 6:00 PM, Pierre-Arnaud Marcelot <pa...@marcelot.net> wrote:
>> 
>> On 10 déc. 2010, at 16:49, Kiran Ayyagari wrote:
>> 
>>> On Fri, Dec 10, 2010 at 5:28 PM, Pierre-Arnaud Marcelot <pa...@marcelot.net> wrote:
>>>> Hi Dev,
>>>> I'm facing an interesting issue in the writing of the Apache DS 2.0
>>>> Configuration Editor.
>>>> As the ApacheDS' configuration is now based on an LDIF file, Studio's LDIF
>>>> Editor always show up when opening the 'config.ldif' file from disk.
>>>> This is due to the fact that the 'default' property value is set to 'true'
>>>> in the LDIF Editor extension definition.
>>>> It is defined as is in the following file, '[Studio
>>>> Checkout]/plugins/ldifeditor/plugin.xml':
>>>> 
>>>>   <extension
>>>>          point="org.eclipse.ui.editors">
>>>>     <editor
>>>>           class="org.apache.directory.studio.ldifeditor.editor.LdifEditor"
>>>> 
>>>> contributorClass="org.apache.directory.studio.ldifeditor.editor.LdifEditorContributor"
>>>> ======>   default="true"
>>>>           extensions="ldif, ldiflog"
>>>>           icon="resources/icons/ldifeditor.gif"
>>>>           id="%Editor_LdifEditor_id"
>>>>           name="%Editor_LdifEditor_name"/>
>>>>    </extension>
>>>> 
>>>> I'd like to pass this value to "false" in order to allow the ApacheDS 2.0
>>>> Configuration Editor to be opened specifically if the filename is
>>>> 'config.ldif'.
>>> hmm, this might confuse users who are connecting to other servers(and
>>> they have accidentally trying
>>> to open their custom ldif file named 'config.ldif' ).
>> 
>> Are there any other servers using 'config.ldif' as default configuration file?
>> 
> it is not that other servers have a special file named 'config.ldif' ,
> any ignorant user can create
> a new ldif file and save it as config.ldif and he will be surprised to
> see a error popup while trying to
> open it in studio.

I understand, you're probably right.
From a user POV, that makes sense.


>> If yes, I have the possibility to pre-scan the file and validate or invalidate the editor for a particular given file (but this has to be as lightweight as possible, especially is there are multiple editor candidates).
> this is an option but I would prefer not to do any such checks while
> opening a file with
> plain File -> Open option.

I think that's the way to go. It's really a lazy-implementation and should only be triggered for files named 'config.ldif'.
That's the way Eclipse handles a lot of specific formats.


>> Or, we could also rename the file to 'adsconfig.ldif' to avoid name collisions.
>> 
>>> Can we have a "Open With" or something similar tab to open the config
>>> file with different editor?
>> 
>> This is already provided a standard functionality for file in the workspace (as in the Java perspective), but not when you open a file from the 'File > Open...' menu item.
>> In that case, Eclipse goes through a list of editor candidates based on their extension definition (supported extensions, supported filenames, priority) and tries to find the good one.
>> 
> I would prefer to leave this default functionality intact and let user
> decide if he wants to open
> the configuration ldif file with a plain ldif editor or with our
> configuration editor.

The problem is that he can only decide that if the file is in his workspace (Studio installed in Eclipse).
In the RCP app, there's no workspace involved and we only have the 'File > Open...' menu item to open files from disk.

That's why I think our only option is to check if the file starts with the correct 'ou=config' and 'ads-directoryServiceId=default,ou=config' entries.
It will excluded files that should not be open with the Configuration Editor.


>>> P.S:- This open a custom editor if file name is 'config.ldif' reminds
>>> me of classing linux windowing
>>>         environments which sometimes *hard* to predict why they are
>>> crashing or behaving
>>>         differently. It turns out, that it is due to some casing of
>>> letter names of a file or other
>>>         but leave no clue to the user about what it is expecting.
>>> 
>>> --
>>> Kiran Ayyagari
>> 
>> 
> 
> 
> 
> -- 
> Kiran Ayyagari


Re: [Studio] Switch the 'default' property value of the LDIF Editor extension to 'false'

Posted by Kiran Ayyagari <ka...@apache.org>.
On Fri, Dec 10, 2010 at 6:00 PM, Pierre-Arnaud Marcelot <pa...@marcelot.net> wrote:
>
> On 10 déc. 2010, at 16:49, Kiran Ayyagari wrote:
>
>> On Fri, Dec 10, 2010 at 5:28 PM, Pierre-Arnaud Marcelot <pa...@marcelot.net> wrote:
>>> Hi Dev,
>>> I'm facing an interesting issue in the writing of the Apache DS 2.0
>>> Configuration Editor.
>>> As the ApacheDS' configuration is now based on an LDIF file, Studio's LDIF
>>> Editor always show up when opening the 'config.ldif' file from disk.
>>> This is due to the fact that the 'default' property value is set to 'true'
>>> in the LDIF Editor extension definition.
>>> It is defined as is in the following file, '[Studio
>>> Checkout]/plugins/ldifeditor/plugin.xml':
>>>
>>>   <extension
>>>          point="org.eclipse.ui.editors">
>>>     <editor
>>>           class="org.apache.directory.studio.ldifeditor.editor.LdifEditor"
>>>
>>> contributorClass="org.apache.directory.studio.ldifeditor.editor.LdifEditorContributor"
>>> ======>   default="true"
>>>           extensions="ldif, ldiflog"
>>>           icon="resources/icons/ldifeditor.gif"
>>>           id="%Editor_LdifEditor_id"
>>>           name="%Editor_LdifEditor_name"/>
>>>    </extension>
>>>
>>> I'd like to pass this value to "false" in order to allow the ApacheDS 2.0
>>> Configuration Editor to be opened specifically if the filename is
>>> 'config.ldif'.
>> hmm, this might confuse users who are connecting to other servers(and
>> they have accidentally trying
>> to open their custom ldif file named 'config.ldif' ).
>
> Are there any other servers using 'config.ldif' as default configuration file?
>
it is not that other servers have a special file named 'config.ldif' ,
any ignorant user can create
a new ldif file and save it as config.ldif and he will be surprised to
see a error popup while trying to
open it in studio.

> If yes, I have the possibility to pre-scan the file and validate or invalidate the editor for a particular given file (but this has to be as lightweight as possible, especially is there are multiple editor candidates).
this is an option but I would prefer not to do any such checks while
opening a file with
plain File -> Open option.
> Or, we could also rename the file to 'adsconfig.ldif' to avoid name collisions.
>
>> Can we have a "Open With" or something similar tab to open the config
>> file with different editor?
>
> This is already provided a standard functionality for file in the workspace (as in the Java perspective), but not when you open a file from the 'File > Open...' menu item.
> In that case, Eclipse goes through a list of editor candidates based on their extension definition (supported extensions, supported filenames, priority) and tries to find the good one.
>
I would prefer to leave this default functionality intact and let user
decide if he wants to open
the configuration ldif file with a plain ldif editor or with our
configuration editor.

>> P.S:- This open a custom editor if file name is 'config.ldif' reminds
>> me of classing linux windowing
>>         environments which sometimes *hard* to predict why they are
>> crashing or behaving
>>         differently. It turns out, that it is due to some casing of
>> letter names of a file or other
>>         but leave no clue to the user about what it is expecting.
>>
>> --
>> Kiran Ayyagari
>
>



-- 
Kiran Ayyagari

Re: [Studio] Switch the 'default' property value of the LDIF Editor extension to 'false'

Posted by Pierre-Arnaud Marcelot <pa...@marcelot.net>.
On 10 déc. 2010, at 16:49, Kiran Ayyagari wrote:

> On Fri, Dec 10, 2010 at 5:28 PM, Pierre-Arnaud Marcelot <pa...@marcelot.net> wrote:
>> Hi Dev,
>> I'm facing an interesting issue in the writing of the Apache DS 2.0
>> Configuration Editor.
>> As the ApacheDS' configuration is now based on an LDIF file, Studio's LDIF
>> Editor always show up when opening the 'config.ldif' file from disk.
>> This is due to the fact that the 'default' property value is set to 'true'
>> in the LDIF Editor extension definition.
>> It is defined as is in the following file, '[Studio
>> Checkout]/plugins/ldifeditor/plugin.xml':
>> 
>>   <extension
>>          point="org.eclipse.ui.editors">
>>     <editor
>>           class="org.apache.directory.studio.ldifeditor.editor.LdifEditor"
>> 
>> contributorClass="org.apache.directory.studio.ldifeditor.editor.LdifEditorContributor"
>> ======>   default="true"
>>           extensions="ldif, ldiflog"
>>           icon="resources/icons/ldifeditor.gif"
>>           id="%Editor_LdifEditor_id"
>>           name="%Editor_LdifEditor_name"/>
>>    </extension>
>> 
>> I'd like to pass this value to "false" in order to allow the ApacheDS 2.0
>> Configuration Editor to be opened specifically if the filename is
>> 'config.ldif'.
> hmm, this might confuse users who are connecting to other servers(and
> they have accidentally trying
> to open their custom ldif file named 'config.ldif' ).

Are there any other servers using 'config.ldif' as default configuration file?

If yes, I have the possibility to pre-scan the file and validate or invalidate the editor for a particular given file (but this has to be as lightweight as possible, especially is there are multiple editor candidates).
Or, we could also rename the file to 'adsconfig.ldif' to avoid name collisions.

> Can we have a "Open With" or something similar tab to open the config
> file with different editor?

This is already provided a standard functionality for file in the workspace (as in the Java perspective), but not when you open a file from the 'File > Open...' menu item.
In that case, Eclipse goes through a list of editor candidates based on their extension definition (supported extensions, supported filenames, priority) and tries to find the good one.

> P.S:- This open a custom editor if file name is 'config.ldif' reminds
> me of classing linux windowing
>         environments which sometimes *hard* to predict why they are
> crashing or behaving
>         differently. It turns out, that it is due to some casing of
> letter names of a file or other
>         but leave no clue to the user about what it is expecting.
> 
> -- 
> Kiran Ayyagari


Re: [Studio] Switch the 'default' property value of the LDIF Editor extension to 'false'

Posted by Kiran Ayyagari <ka...@apache.org>.
On Fri, Dec 10, 2010 at 5:28 PM, Pierre-Arnaud Marcelot <pa...@marcelot.net> wrote:
> Hi Dev,
> I'm facing an interesting issue in the writing of the Apache DS 2.0
> Configuration Editor.
> As the ApacheDS' configuration is now based on an LDIF file, Studio's LDIF
> Editor always show up when opening the 'config.ldif' file from disk.
> This is due to the fact that the 'default' property value is set to 'true'
> in the LDIF Editor extension definition.
> It is defined as is in the following file, '[Studio
> Checkout]/plugins/ldifeditor/plugin.xml':
>
>   <extension
>          point="org.eclipse.ui.editors">
>     <editor
>           class="org.apache.directory.studio.ldifeditor.editor.LdifEditor"
>
> contributorClass="org.apache.directory.studio.ldifeditor.editor.LdifEditorContributor"
> ======>   default="true"
>           extensions="ldif, ldiflog"
>           icon="resources/icons/ldifeditor.gif"
>           id="%Editor_LdifEditor_id"
>           name="%Editor_LdifEditor_name"/>
>    </extension>
>
> I'd like to pass this value to "false" in order to allow the ApacheDS 2.0
> Configuration Editor to be opened specifically if the filename is
> 'config.ldif'.
hmm, this might confuse users who are connecting to other servers(and
they have accidentally trying
to open their custom ldif file named 'config.ldif' ).

Can we have a "Open With" or something similar tab to open the config
file with different editor?

P.S:- This open a custom editor if file name is 'config.ldif' reminds
me of classing linux windowing
         environments which sometimes *hard* to predict why they are
crashing or behaving
         differently. It turns out, that it is due to some casing of
letter names of a file or other
         but leave no clue to the user about what it is expecting.

-- 
Kiran Ayyagari

Re: [Studio] Switch the 'default' property value of the LDIF Editor extension to 'false'

Posted by Emmanuel Lecharny <el...@gmail.com>.
On 12/10/10 4:28 PM, Pierre-Arnaud Marcelot wrote:
> Hi Dev,
>
> I'm facing an interesting issue in the writing of the Apache DS 2.0 Configuration Editor.
>
> As the ApacheDS' configuration is now based on an LDIF file, Studio's LDIF Editor always show up when opening the 'config.ldif' file from disk.
>
> This is due to the fact that the 'default' property value is set to 'true' in the LDIF Editor extension definition.
>
> It is defined as is in the following file, '[Studio Checkout]/plugins/ldifeditor/plugin.xml':
>>    <extension
>>           point="org.eclipse.ui.editors">
>>      <editor
>>            class="org.apache.directory.studio.ldifeditor.editor.LdifEditor"
>>            contributorClass="org.apache.directory.studio.ldifeditor.editor.LdifEditorContributor"
>> ======>    default="true"
>>            extensions="ldif, ldiflog"
>>            icon="resources/icons/ldifeditor.gif"
>>            id="%Editor_LdifEditor_id"
>>            name="%Editor_LdifEditor_name"/>
>>     </extension>
> I'd like to pass this value to "false" in order to allow the ApacheDS 2.0 Configuration Editor to be opened specifically if the filename is 'config.ldif'.
>
> The LDIF Editor will continue to be opened for any LDIF file except if the name of the file is 'config.ldif'.

+1. Go for it.

Just a question : what if a tab is added with the config.ldif file 
exposed as LDIF ?--


Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com


Re: [Studio] Switch the 'default' property value of the LDIF Editor extension to 'false'

Posted by Stefan Seelmann <se...@apache.org>.
Hi Pierre-Arnaud,

no objection.

Kind Regards,
Stefan


On Fri, Dec 10, 2010 at 4:28 PM, Pierre-Arnaud Marcelot <pa...@marcelot.net> wrote:
> Hi Dev,
> I'm facing an interesting issue in the writing of the Apache DS 2.0
> Configuration Editor.
> As the ApacheDS' configuration is now based on an LDIF file, Studio's LDIF
> Editor always show up when opening the 'config.ldif' file from disk.
> This is due to the fact that the 'default' property value is set to 'true'
> in the LDIF Editor extension definition.
> It is defined as is in the following file, '[Studio
> Checkout]/plugins/ldifeditor/plugin.xml':
>
>   <extension
>          point="org.eclipse.ui.editors">
>     <editor
>           class="org.apache.directory.studio.ldifeditor.editor.LdifEditor"
>
> contributorClass="org.apache.directory.studio.ldifeditor.editor.LdifEditorContributor"
> ======>   default="true"
>           extensions="ldif, ldiflog"
>           icon="resources/icons/ldifeditor.gif"
>           id="%Editor_LdifEditor_id"
>           name="%Editor_LdifEditor_name"/>
>    </extension>
>
> I'd like to pass this value to "false" in order to allow the ApacheDS 2.0
> Configuration Editor to be opened specifically if the filename is
> 'config.ldif'.
> The LDIF Editor will continue to be opened for any LDIF file except if the
> name of the file is 'config.ldif'.
> Any objection?
> Thanks,
> Pierre-Arnaud