Difference between pages "Refactoring Framework" and "Help:Preferences"

From Event-B
(Difference between pages)
Jump to navigationJump to search
imported>Renato
 
imported>Mathieu
m (importing help from mediawiki)
 
Line 1: Line 1:
{| align="right"
 
| __TOC__
 
|}
 
  
==News ==
 
* ''5th November 2009'': [[#Version_0.0.4|Version 0.0.4]] released. It is based on Rodin 1.1.0.
 
* ''2nd November 2009'': [[#Version_0.0.4|Version 0.0.4]] released. It is based on Rodin 1.1.0.
 
* ''3rd July 2009'': [[#Version_0.0.2|Version 0.0.2]] released. It is based on Rodin 1.0.
 
* ''1st July 2009'': [[#Version_0.0.1|Version 0.0.1]] released. It is based on Rodin 1.0.0 RC1.
 
  
==The Rename Refactoring Plug-in ==
+
Clicking on the [[special:preferences|my preferences]] link in the upper right while logged in allows you to change your preferences. You will be presented with the User profile section, as well as a bar of tabs across the top for changing other types of settings.
  
[[User:Renato]] at [[Southampton]] is in charge of the [[Refactoring Framework]].
+
==User profile==
 +
===User profile===
 +
* ''Username'': Your user name. Only bureaucrats can change your username, and the wiki must also have the [[mw:Extension:Renameuser|Renameuser extension]] installed.
 +
* ''User ID'': A number assigned to your account when you created it (for example, if your number is 42 you are the 42nd user to sign up at this particular wiki). This number is used for internal purposes.
 +
* ''Number of edits'': How many edits you have made. Not all wikis will have this.
 +
* ''Real name'': If provided, this will be used for attribution (rather than using your username). Providing your real name is entirely optional. Some wikis do not have this option.
 +
* ''E-mail'': Your email address, if you have supplied one. You can also change or remove your address here.
 +
* ''Nickname'': When you sign your name (using <code><nowiki>~~~~</nowiki></code>), what you enter here will be used at the start instead of a simple link to your user page. By default, anything you enter here will be wrapped with <code><nowiki>[[ ]]</nowiki></code>; if you want to use special linking, enable ''Raw signatures (without automatic link)''.
 +
* ''Language'': This controls what language the interface is displayed in.  MediaWiki's default interface includes localisations for all supported languages, but this is not necessarily the case with extensions or custom skins. Page text will '''not''' be translated, nor will templates (unless the templates integrate text localisation).
  
One of the most recurring requirement from users of the Rodin platform is to have simple means for renaming modeling elements. Users want to have a unique operation that will rename an element both at its declaration and all its occurrences. Moreover, they require that renaming an element doesn't modify their existing proof state (no loss of proof).
+
===Change password===
 +
To change your password, enter your old password in the first box and your new password in the last two. If you want this site to remember your login, check ''Remember my login on this computer''. Note that this function requires you to have cookies enabled in your browser, and if your cookie is cleared or expires you will no longer be remembered.
  
This requirement falls in the more general context of ''refactoring''. In software engineering, "refactoring" source code means improving it without changing its overall results, and is sometimes informally referred to as "cleaning it up". In the case of the Rodin platform, the refactoring framework is related to the first option, where refactoring should not change the overall behaviour of the files/elements, nor loosing proofs.
+
===E-mail===
 +
If you have supplied an email address, you will need to click the ''verify address'' button in order to use these functions. You will receive an email; simply open it and follow the link to enable the following functions.
  
The following diagram shows the architecture of the refactoring framework.
+
* ''E-mail me when a page I'm watching is changed''
 +
* ''E-mail me when my user talk page is changed''
 +
* ''E-mail me also for minor edits of pages''
 +
* ''Enable e-mail from other users''
 +
* ''Send me copies of emails I send to other users''
  
[[Image:Architecture_refactoring_framework.jpg]]
+
===Languages===
  
==The Rename Refactoring Framework Architecture ==
+
From your preferences you can select what language you would like the interface to be in. Only the buttons like 'edit' and 'talk', in addition to a few pages in the sidebar, will be affected. The main text of the pages will not be changed by this for the vast majority of pages, although there are a few pages where it will, like some in the Wikimedia Meta Wiki.
  
Currently, it is being developed the application of such framework to event-b files (context, machines, proofs obligations, etc) and elements (constants, variables, carrier sets, etc). There are still some tests to be run for the different elements of contexts and machines. The next goal would be to apply and use this framework on Rodin (together with file editors or perspectives).
+
==Skin==
 +
Here you can choose the skin you want to use (use ''Preview'' if you want to see a skin before you choose it). By default, MediaWiki includes the following skins:
 +
* Chick
 +
* Classic
 +
* Cologne Blue
 +
* MonoBook (default)
 +
* MySkin
 +
* Nostalgia
 +
* Simple
 +
While you can choose whatever skin you like, bear in mind that some wikis will incorporate templates or layout elements that will not display as intended in some of these skins. Generally speaking, sticking with MonoBook (or whatever the wiki's default skin is) will ensure you see pages as intended.
  
[[Image:RefTree.jpg‎]]
+
==Math==
 +
Here you can control how mathematical equations described using the <code><nowiki><math></nowiki></code> tag will be displayed. Mathematical formulae uploaded as images or written outside the math tag will not be affected by this setting.
 +
* ''Always render PNG''
 +
* ''HTML if very simple or else PNG''
 +
* ''HTML if possible or else PNG''
 +
* ''Leave it as TeX (for text browsers)''
 +
* ''Recommended for modern browsers''
 +
* ''MathML if possible (experimental)''
  
==== Refactoring Trees after processing the extension points ====
+
==Files==
 +
Here you can determine how images will be displayed. Images displayed by direct pasting of a URL (if the wiki has it enabled) will not be affected by this setting.
  
Since there are proof obligations associated with Event-B files, while renaming the goal would be to cause the less effort as possible on re-proving and if possible re-using the proofs that are already discharged. The refactoring should not change the semantic of any of the elements/files. Instead, it should just change names or labels, so the proofs should not have to be re-generated (nor re-discharged). That is one of final goals while applying of this framework to Event-B.
+
* ''Limit images on image description pages to'': This setting lets you choose how big image previews will be on the Image: pages. If you know what your current screen resolution is you may like to set this to one or two sizes smaller than your own screen. If you have a slow connection (such as dial-up) you may want to limit them to 320×240.
 +
* ''Thumbnail size'': Define how big you want thumbnails to appear. This setting will not affect thumbnails with dimensions determined by an editor, nor can it increase images beyond their original dimensions.
  
==Initial Work ==
+
==Date and time==
 +
The following is normally rendered depending on preferences:
  
Initial work towards implementation of this framework is described in [http://www.stups.uni-duesseldorf.de/thesis_detail.php?id=9 Sonja Holl's Bachelor thesis]
+
<pre>
 +
[[2001-01-05]] (or [[2001]]-[[01-05]]) (with leading zeros)
 +
[[2001]] [[January 5]] ([[2001]] [[January 05]])
 +
[[January 5]], [[2001]] ([[January 05]], [[2001]])
 +
[[5 January]] [[2001]] ([[05 January]] [[2001]])
 +
[[January 5]] ([[January 05]])
 +
[[5 January]] ([[05 January]])
 +
</pre>
  
==Installing/Updating ==
+
With your current preference setting on this project the seven are rendered as follows:
  
The installation or update for the renaming/refactoring plug-in is available under the main Rodin Update site (http://rodin-b-sharp.sourceforge.net/updates). Like always, after the installation, restarting the application is recommended.
+
#[[2001-01-05]] ([[2001]]-[[01-05]])
 +
#[[2001]] [[January 5]] ([[2001]] [[January 05]])
 +
#[[January 5]], [[2001]] ([[January 05]], [[2001]])
 +
#[[5 January]] [[2001]] ([[05 January]] [[2001]])
 +
#[[January 5]] ([[January 05]])
 +
#[[5 January]] ([[05 January]])
  
==Usage ==
+
The user-specified date format does not seem to work on the [[mw:]] wiki for links! It works in Recent Changes etc.
  
The Renaming/Refactory plug-in allows the renaming of:
+
==Editing==
 +
Settings to control editing pages, including the size of the edit box displayed and whether to watch pages that you have edited or created automatically.
  
* Variables
+
==Recent changes==
* Parameters
+
* ''Days to show in recent changes'': Here you can specify how far back the [[Help:Tracking changes|recent changes]] pages will go. Note that the list will stop prematurely if the number of edits is exceeded (see below)
* Carrier Sets
+
* ''Number of edits to show in recent changes'': Here you can specify how many edits should be displayed.
* Constants
+
* ''Hide minor edits in recent changes'': This enables you to hide edits marked as minor (see [[Help:Editing pages]]). Since some users will rapidly make a lot of tiny tweaks to update templates or fix spelling errors you may find enabling this to be useful. You can also turn this on temporarily from the recent changes page (see [[Help:Tracking changes]]).
* Events
+
* ''Enhanced recent changes (JavaScript)'': Enhanced recent changes condenses edits into a per-page list. As indicated, this requires JavaScript to be enabled. See [[Help:Tracking changes]] for more information on this feature.
* Other labelled elements (invariants, axioms, guards, etc)
 
  
====Requirements before using ====
+
==Watchlist==
  
Before using the renaming/refactory, all the files in the project should be saved ( it will be asked to save in there are any unsaved files). There should be no errors in the project, otherwise it could lead to even more errors after applying the renaming.
+
==Search==
 +
Default settings for searches including how many results to display and how much context to show for each result.  Check the boxes next to the namespaces which you want to show up, the first time that you search for something.  You can override this when doing an actual search, by checking or unchecking the boxes at the bottom of the search results screen.
  
==== Steps of usage ====
+
''Administrators'': To change the namespace default preferences for new users (or users who haven't changed their preferences yet), see [[Manual:$wgNamespacesToBeSearchedDefault]]
  
# User selects element to be renamed at the Event-B Explorer
+
==Misc==
# By right clicking in the element, there should appear an option 'Refactory...'. Selecting that option should open a wizard [[Image:refactory menu.png]]
+
Other settings such as numbering and justification.
# User introduces new element name in the first page of the wizard. Then click in 'Next'. [[Image:new_name_wizard.png]]
 
# A list of related files is created and the plug-in check for possible clashes and returns a report
 
# User decides if he wants to execute renaming (by clicking in 'Finish')
 
  
 +
== See also ==
 +
* [[Help:Skins]]
  
 
+
[[Category:Help|Preferences]]
       
 
[[Image:refactory_report_wizard.png]]
 
 
 
 
 
== Bugs, Features and Comments ==
 
 
 
''Any reports of bugs, features or comments are welcome. You can add any of them here.''
 
 
 
====Bugs ====
 
* -
 
 
 
====Features Request====
 
* Implement UNDO for renaming
 
 
 
====Comments ====
 
* -
 
 
 
== Releases ==
 
 
 
=====Version 0.0.4 =====
 
 
 
''5th November 2009''
 
 
 
A release of renaming/refactory (v0.0.4) compatible with Rodin v1.1.0 is available in the main Rodin update site (bug fix from 0.0.3). Before starting the renaming, it is recommended to clean and build the project in order to have the indexer tables updated (IMPORTANT).
 
 
 
*Bug fix
 
** Renaming of proofs would not save the proof files after renaming
 
** Renaming of labelled elements would not update the proofs.
 
 
 
*Possible Problem
 
** If you try to rename and the operation runs successfully without any errors but does not have any effect, you should:
 
*** First, try to fix the renaming manually on the respective file (or using the renaming framework, revert to the original name)
 
*** Try to make a CLEAN and BUILD to ensure that the Rodin indexer is updated before the renaming.
 
*** Run the renaming again and should be working fine.
 
 
 
=====Version 0.0.3 =====
 
 
 
''2nd November 2009''
 
 
 
A release of renaming/refactory (v0.0.3) compatible with Rodin v1.1.0 is already available in the main Rodin update site. Before starting the renaming, it is recommended to clean and build the project in order to have the indexer tables updated.
 
 
 
*Features
 
** Renaming of machines and contexts is possible using the indexers. After the renaming of a machine/context, the change is propagated over the related files
 
** Renaming of proofs: after the renaming, the proof obligations are also updated to reflect the renaming. It might be necessary to manually refresh the status of some proof obligations (although the proof is already discharged). This renaming is not fully-functional at the moment and some discharged proof obligations may have to be discharged again. We intend to fix this problem in the future.
 
 
 
=====Version 0.0.2 =====
 
 
 
''3rd July 2009''
 
 
 
*Bugs
 
** Validate if new name is in the list of reserved words of Event-B (dom,ran, card, etc)
 
 
 
=====Version 0.0.1 =====
 
 
 
''1st July 2009''
 
 
 
A release of renaming/refactory (v0.0.1) compatible with Rodin v1.0.0 is already available in the main Rodin update site.
 
 
 
Note that this version is still a prototype so prone to errors. So it is suggested to back up the projects before starting to use the renaming plug-in. The plug-in uses the most recent version of Rodin Indexer. Before starting the renaming, it is recommended to clean and build the project in order to have the indexer tables updated.
 
 
 
Although one of the goals is to the rename the respective proof obligations, this feature is not available in this version. It should be available in the next release. If you find bugs or errors, please let me know by updating this wiki-page or [mailto:ras07r@ecs.soton.ac.uk email].
 
 
 
[[Category:Design]]
 

Latest revision as of 08:56, 5 July 2008


Clicking on the my preferences link in the upper right while logged in allows you to change your preferences. You will be presented with the User profile section, as well as a bar of tabs across the top for changing other types of settings.

User profile

User profile

  • Username: Your user name. Only bureaucrats can change your username, and the wiki must also have the Renameuser extension installed.
  • User ID: A number assigned to your account when you created it (for example, if your number is 42 you are the 42nd user to sign up at this particular wiki). This number is used for internal purposes.
  • Number of edits: How many edits you have made. Not all wikis will have this.
  • Real name: If provided, this will be used for attribution (rather than using your username). Providing your real name is entirely optional. Some wikis do not have this option.
  • E-mail: Your email address, if you have supplied one. You can also change or remove your address here.
  • Nickname: When you sign your name (using ~~~~), what you enter here will be used at the start instead of a simple link to your user page. By default, anything you enter here will be wrapped with [[ ]]; if you want to use special linking, enable Raw signatures (without automatic link).
  • Language: This controls what language the interface is displayed in. MediaWiki's default interface includes localisations for all supported languages, but this is not necessarily the case with extensions or custom skins. Page text will not be translated, nor will templates (unless the templates integrate text localisation).

Change password

To change your password, enter your old password in the first box and your new password in the last two. If you want this site to remember your login, check Remember my login on this computer. Note that this function requires you to have cookies enabled in your browser, and if your cookie is cleared or expires you will no longer be remembered.

E-mail

If you have supplied an email address, you will need to click the verify address button in order to use these functions. You will receive an email; simply open it and follow the link to enable the following functions.

  • E-mail me when a page I'm watching is changed
  • E-mail me when my user talk page is changed
  • E-mail me also for minor edits of pages
  • Enable e-mail from other users
  • Send me copies of emails I send to other users

Languages

From your preferences you can select what language you would like the interface to be in. Only the buttons like 'edit' and 'talk', in addition to a few pages in the sidebar, will be affected. The main text of the pages will not be changed by this for the vast majority of pages, although there are a few pages where it will, like some in the Wikimedia Meta Wiki.

Skin

Here you can choose the skin you want to use (use Preview if you want to see a skin before you choose it). By default, MediaWiki includes the following skins:

  • Chick
  • Classic
  • Cologne Blue
  • MonoBook (default)
  • MySkin
  • Nostalgia
  • Simple

While you can choose whatever skin you like, bear in mind that some wikis will incorporate templates or layout elements that will not display as intended in some of these skins. Generally speaking, sticking with MonoBook (or whatever the wiki's default skin is) will ensure you see pages as intended.

Math

Here you can control how mathematical equations described using the <math> tag will be displayed. Mathematical formulae uploaded as images or written outside the math tag will not be affected by this setting.

  • Always render PNG
  • HTML if very simple or else PNG
  • HTML if possible or else PNG
  • Leave it as TeX (for text browsers)
  • Recommended for modern browsers
  • MathML if possible (experimental)

Files

Here you can determine how images will be displayed. Images displayed by direct pasting of a URL (if the wiki has it enabled) will not be affected by this setting.

  • Limit images on image description pages to: This setting lets you choose how big image previews will be on the Image: pages. If you know what your current screen resolution is you may like to set this to one or two sizes smaller than your own screen. If you have a slow connection (such as dial-up) you may want to limit them to 320×240.
  • Thumbnail size: Define how big you want thumbnails to appear. This setting will not affect thumbnails with dimensions determined by an editor, nor can it increase images beyond their original dimensions.

Date and time

The following is normally rendered depending on preferences:

 [[2001-01-05]] (or [[2001]]-[[01-05]]) (with leading zeros)
 [[2001]] [[January 5]] ([[2001]] [[January 05]])
 [[January 5]], [[2001]] ([[January 05]], [[2001]])
 [[5 January]] [[2001]] ([[05 January]] [[2001]])
 [[January 5]] ([[January 05]])
 [[5 January]] ([[05 January]])

With your current preference setting on this project the seven are rendered as follows:

  1. 2001-01-05 (2001-01-05)
  2. 2001 January 5 (2001 January 05)
  3. January 5, 2001 (January 05, 2001)
  4. 5 January 2001 (05 January 2001)
  5. January 5 (January 05)
  6. 5 January (05 January)

The user-specified date format does not seem to work on the mw: wiki for links! It works in Recent Changes etc.

Editing

Settings to control editing pages, including the size of the edit box displayed and whether to watch pages that you have edited or created automatically.

Recent changes

  • Days to show in recent changes: Here you can specify how far back the recent changes pages will go. Note that the list will stop prematurely if the number of edits is exceeded (see below)
  • Number of edits to show in recent changes: Here you can specify how many edits should be displayed.
  • Hide minor edits in recent changes: This enables you to hide edits marked as minor (see Help:Editing pages). Since some users will rapidly make a lot of tiny tweaks to update templates or fix spelling errors you may find enabling this to be useful. You can also turn this on temporarily from the recent changes page (see Help:Tracking changes).
  • Enhanced recent changes (JavaScript): Enhanced recent changes condenses edits into a per-page list. As indicated, this requires JavaScript to be enabled. See Help:Tracking changes for more information on this feature.

Watchlist

Search

Default settings for searches including how many results to display and how much context to show for each result. Check the boxes next to the namespaces which you want to show up, the first time that you search for something. You can override this when doing an actual search, by checking or unchecking the boxes at the bottom of the search results screen.

Administrators: To change the namespace default preferences for new users (or users who haven't changed their preferences yet), see Manual:$wgNamespacesToBeSearchedDefault

Misc

Other settings such as numbering and justification.

See also