[ANN] Copyright 1.0.0 RC2 for IDEA 5.x

I've made some updates based on the feedback I've received:

Changes
- You can now specify either block or line comments regardless of what the language supports. If the language doesn't support the choice then the choice is emulated with the supported syntax.
- Dollar signs ($) are now escaped when the copyright notice is persisted in the ipr and/or iml files. This allows for the use of CVS tags in the copyright notice.

New Features
- You can now specify a character used to fill separators. If nothing is specified a sane default is used appropriate to the language.
- You now have the option of using XML comment syntax for JSP files.

Bug Fixes
- The Validate button became enabled incorrectly under certain conditions.

7 comments
Comment actions Permalink

Rick, this plugin is very annoying in several ways. I would rather use an older version right now. I think the annoying parts will be easy for you to fix though.

1. When I upgraded to the latest version I lost my old copyright statement.
2. It places copyrights in every file I create. Just because I installed the plugin doesn't mean I want it placing copyrights in every file of every type from now on. They should all be off by default.
3. The settings are very confusing and tedious to change. The tabs are unnecessary because the UI in each one is exactly the same. The tabs could be more effectively replaced by a list on the left.
4. The options under "Template override" should be replaced by two checkboxes: "Use custom template" and "Use custom formatting"

0
Comment actions Permalink

1. When I upgraded to the latest version I lost my old copyright statement.

Well the new version is completely different and the data saved now is a good bit different. Minor inconvenience - sorry.

2. It places copyrights in every file I create. Just because I installed the plugin doesn't mean I want it placing copyrights in every file of every type from now on. They should all be off by default.

You can do what you are asking for already. Start IDEA with no project loaded. Go to the settings page and open the Copyright config page. Set all the defaults you want. These defaults will now be used for all new projects. And any new module added to a project uses the project settings by default. This way users can set it up any way they like.

3. The settings are very confusing and tedious to change. The tabs are unnecessary because the UI in each one is exactly the same. The tabs could be more effectively replaced by a list on the left.

What's confusing? You don't say.

And how is your proposed solution any better with regard to the UI being tedious? And what is tedious about the UI anyway? Again, you don't say.

If a user needs a unique type of copyright for each file type then you do need to make the change for each type. However, I believe most people will just use the template and leave all the file types in their default state, except for file location.

Also, the UI is NOT the same for each file type. Close, but not quite the same.

4. The options under "Template override" should be replaced by two checkboxes: "Use custom template" and "Use custom formatting"

Why? How is making a user guess what the four possible combinations of two checkboxes represent better than four explicit radio buttons?

Rick

0
Comment actions Permalink

1. When I upgraded to the latest version I lost my
old copyright statement.

Well the new version is completely different and the
data saved now is a good bit different. Minor
inconvenience - sorry.


I think it's a major inconvenience. The new version does not offer me any new features, for which I would be willing to sacrifice having to re-enter my copyright. So, it's no improvement, and an unnecessary annoyance.

I routinely click the "upgrade all" button to upgrade all of the plugins I use. I think other people do the same thing. Your plugin provides no indication, not even a first-start dialog, which tells you that all of your settings have been lost. I think you should at least optimize for the common case of a simple template for java files, copying the old data over.

2. It places copyrights in every file I create. Just
because I installed the plugin doesn't mean I want it
placing copyrights in every file of every type from
now on. They should all be off by default.

You can do what you are asking for already.


I'm not asking you how to change this. I'm telling you that I think you're going to make a lot of people annoyed by making the default to insert a dummy template at the top of every file of every type.

3. The settings are very confusing and tedious to
change. The tabs are unnecessary because the UI in
each one is exactly the same. The tabs could be more
effectively replaced by a list on the left.

What's confusing? You don't say.


Tabs don't normally work in that way. Normally, tabs indicate separate content. Also, Groovy is the first tab. I've never written a line of groovy. You might as well make it easy to find Java, this is a Java IDE after all. On OSX, there are not rows of tabs, so only the first few are shown, and more are hidden under an arrow box on the right.

And how is your proposed solution any better with
regard to the UI being tedious? And what is tedious
about the UI anyway? Again, you don't say.


The list on the left should provide checkboxes next to each one, like
Java
XML
etc.

That way I can easily uncheck all everything but java. Of course if you fixed the defaults thing like I said earlier, this wouldn't be as much of an issue, unless a user wanted to turn all of them on.

4. The options under "Template override" should be
replaced by two checkboxes: "Use custom template" and
"Use custom formatting"

Why? How is making a user guess what the four
possible combinations of two checkboxes represent
better than four explicit radio buttons?


It took me 10 seconds of staring at it to guess what "use template text" meant compared to "use template." Those two checkboxes I proposed seem infinitely clearer and more intuitive to me.

0
Comment actions Permalink

>> 2. It places copyrights in every file I create. Just because I installed the plugin
>> doesn't mean I want it placing copyrights in every file of every type from now on. They
>> should all be off by default.


You can do what you are asking for already. Start IDEA with no project loaded. Go to
the settings page and open the Copyright config page. Set all the defaults you want.
These defaults will now be used for all new projects. And any new module added to a
project uses the project settings by default. This way users can set it up any way they
like.


I agree with Keith. The problem with the "Template Project Settings" is that they don't
work for existing projects. They're a template for new projects only. And even with the
template settings I see no way to tell the plugin to really keep its hands off my source
files:

"No Copyright - Select this if you don't want any copyright notice added to
files of this type. If a copyright notice exists it will be removed."

While this can certainly be useful, the plugin needs a global "Off" setting that makes
sure that no files are modified in any way, and it should be checked by default. That
doesn't make it more difficult to activate the plugin for a specific project (one has to
edit the copyright text anyway) but makes it much more easy and obvious to see what's
going to happen. An "Off" setting per file type would be good as well.

Please don't get this wrong: The plugin can be extremely useful, but it's currently not
working with the principle of the least surprise. It should only touch a file when this
has been explicitly configured for the project. If this is desired to be the default,
/that/ should be done by the template project settings.

Sascha

0
Comment actions Permalink

I've added the project level "on/off" switch for the plugin and set the default to off. I actually did have the idea of doing this a while ago but it got lost in everything else I was doing.

The file type level "on/off" still in place.

Thanks,
Rick

0
Comment actions Permalink

1. I was able to add code to support older version of the plugin. So anyone that upgrades from a pre 1.0.0 version to the next one I put out soon will get their old Java settings.

2. See my reply below about the new project level "on/off" switch.

3. I still don't see how your simple list of checkboxes next to the file types is going to work. Maybe I'm just missing the complete idea you have in mind. The way I read what you suggest is that the check boxes for each file type turn the types on or off. OK - if I check one, how do I see that particular file type's settings? There are a whole screen worth of settings per file type.

Tabs - Just out of curiosity, how many tabs do you get under the File Types tab? I have 7 - CSS, HTML/xHTML, JAVA, JavaScript, JSP/JSPx, Properties, and DTD/XML. There are dynamically created from the OpenAPI using the FileTypes class. I present only thos file types that have a non-null Language. I find it interesting that you get more than me. Oh wait - aren't you using IDEA 4055 or something similar? I haven't tried that version. I'm using 3542.

4. Four Radio Buttons vs. Two check boxes

I have:

o No Copyright
o Use Template
o Use Template Text
o Fully Custom

You propose

[] Use custom template
[] Use custom formatting

You've lost me as to how the four combinations of those two checkboxes can mean the same thing as the four radio buttons. I'll happily admit my four labels are less than ideal - I'm open to better labels for the radio buttons if you have any good suggestions. I really only think "Use Template Text" is the slightly confusing one.

Thanks for the time.
Rick

0
Comment actions Permalink

Rick Maddy wrote:

1. I was able to add code to support older version of the plugin. So
anyone that upgrades from a pre 1.0.0 version to the next one I put
out soon will get their old Java settings.


Awesome, I think this will make your users feel better.

2. See my reply below about the new project level "on/off" switch.


Cool.

3. I still don't see how your simple list of checkboxes next to the
file types is going to work. Maybe I'm just missing the complete idea
you have in mind. The way I read what you suggest is that the check
boxes for each file type turn the types on or off. OK - if I check
one, how do I see that particular file type's settings? There are a
whole screen worth of settings per file type.


It would be a checkbox and a list item. If I click the word "Java," the
Java settings come up. If I click the checkbox next to Java, it changes
the checkbox state.

Tabs - Just out of curiosity, how many tabs do you get under the File
Types tab? I have 7 - CSS, HTML/xHTML, JAVA, JavaScript, JSP/JSPx,
Properties, and DTD/XML. There are dynamically created from the
OpenAPI using the FileTypes class. I present only thos file types
that have a non-null Language. I find it interesting that you get
more than me. Oh wait - aren't you using IDEA 4055 or something
similar? I haven't tried that version. I'm using 3542.


I have 11. I have several plugins installed.

4. Four Radio Buttons vs. Two check boxes

I have:

o No Copyright o Use Template o Use Template Text o Fully Custom

You propose

[] Use custom template [] Use custom formatting

You've lost me as to how the four combinations of those two
checkboxes can mean the same thing as the four radio buttons. I'll
happily admit my four labels are less than ideal - I'm open to better
labels for the radio buttons if you have any good suggestions. I
really only think "Use Template Text" is the slightly confusing one.


There's not a 1:1 mapping but the checkboxes are more expressive:

Use custom template
Use custom formatting

equivalent: o Use Template

Use custom template
Use custom formatting

equivalent: (no equivalent)

Use custom template
Use custom formatting

equivalent: o Use Template Text

Use custom template
Use custom formatting

equivalent: o Fully Custom

And the "No template" is covered by the checkbox list I described above.

0

Please sign in to leave a comment.