mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2025-12-06 14:52:03 +01:00
Updated documentation for 22.05
git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@2355 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
116
documentation/22.05/_others/community/index.wiki
Normal file
116
documentation/22.05/_others/community/index.wiki
Normal file
@@ -0,0 +1,116 @@
|
||||
[[Property:title|Community]]
|
||||
[[Property:description|Members of the Eiffel community can contribute to this documentation through this book]]
|
||||
[[Property:weight|15]]
|
||||
[[Property:uuid|75c75712-7c3e-2757-51b7-77b404471e2e]]
|
||||
=You can become a contributor!=
|
||||
|
||||
Eiffel is a community. Members of the Eiffel community can contribute to this documentation through this book.
|
||||
|
||||
EiffelStudio documentation is available in a convenient Wiki format. This makes it possible to improve the documentation continuously and make sure it is always up to date.
|
||||
|
||||
Community input is welcome.
|
||||
|
||||
==Using the Comments pages==
|
||||
|
||||
Each documentation page has an associated '''Comments''' page. Any viewer can add comments to a Comments page. These comments are periodically reviewed and appropriate content is "published," that is, made visible to the community.
|
||||
|
||||
===Guidelines for Comments pages===
|
||||
|
||||
#The '''Comments''' pages are intended to be used to record and communicate issues concerning the documentation. Use Comments pages to post comments which report problems with the documentation or which suggest improvements to the documentation.
|
||||
# '''Any material you add to this site becomes the property of Eiffel Software, and may be shared with the community.'''
|
||||
# Comments pages should ''not'' be used for product support questions, product feature requests, or bug reports. ''Comments of this sort will be deleted.'' For help with products join the [http://groups.eiffel.com Eiffel Software User Group] and use the resources at the [http://community.eiffel.com Eiffel Community site].
|
||||
|
||||
===Comment lifecycle===
|
||||
|
||||
Although the procedure for how editors deal with comments is flexible, some general guidelines can be given:
|
||||
|
||||
# For comments requesting action (e. g., fix a problem, add more information):
|
||||
## For those actions which can be accomplished immediately:
|
||||
### The comment will not be published.
|
||||
### The requested action will be fixed.
|
||||
### The original comment's subject line will be prepended with "FIXED".
|
||||
## For those actions which cannot be accomplished quickly or require special handling:
|
||||
### The comment will be published
|
||||
### A response to the comment will be made via "reply", and
|
||||
#### The original comment's subject line will be prepended with:
|
||||
##### FIXED, if and when the request can be satisfied.
|
||||
##### ANALYZED, otherwise, plus explanation of delaying or not acting on request.
|
||||
## For actions affecting docs.eiffel.com plus the Eiffel distribution:
|
||||
### Submit a problem report requesting feedback when problem is fixed so that docs.eiffel.com can be updated in kind.
|
||||
# For comments not requesting action, but adding relevant information related to the page:
|
||||
## The comment will be published.
|
||||
## If appropriate:
|
||||
### The content of the comment will be integrated into the page.
|
||||
### The original comment's subject line prepended with FIXED.
|
||||
# Periodically, an audit will remove older comments marked as FIXED and ANALYZED.
|
||||
|
||||
==Contributors and Editors==
|
||||
|
||||
If you are interested in a more active role in improving and developing EiffelStudio documentation, you can become:
|
||||
|
||||
* A contributor: authorized to edit existing pages to any book, and to add pages to the "Community" book.
|
||||
**"Community" book pages can be added to other books by an editor.
|
||||
|
||||
* An editor: authorized to modify and add pages in any book.
|
||||
|
||||
To become a contributor, you should be proficient in Eiffel technology and have good written English skills. To become an editor, you should already be a contributor and have contributed significant improvements or additions to the documentation.
|
||||
|
||||
If you are interested in becoming a contributor, you can [[path:user/register|register]] for an account, and then please [[path:contact|contact us]] with a short description of your Eiffel experience and any other relevant background.
|
||||
|
||||
===Guidelines for contributors===
|
||||
|
||||
# '''Entering log messages:''' When you change pages in the documentation, it can help sometimes if you can provide an explanation of your intent in the '''Log message''' box on the '''Edit''' page. This can eliminate confusion about why things have been changed. Of course, it is not necessary to provide a log message for every change. For fixing typographical errors or other simple changes, it generally would not be necessary, but putting a single lowercase '''"m"''' in the '''Log message''' field will convey the message that this was a minor update. If you are evolving new pages or a complex set of related changes to one or more pages, it should suffice to enter a single log message at the beginning of the series of edits. Use common sense here.
|
||||
#* In cases in which a change is directly related to an external document or policy, it may be helpful to mention the impetus in the log message. For example, documentation changes made to satisfy Eiffel Software problem reports should reference the report in the log message.
|
||||
# '''Renaming pages or moving pages to Trash:''' Before you rename a page or move it to the Trash, you should use the '''References''' tab to make certain that there are no current references to the page. If there are, make sure you resolve those references before renaming or moving the page.
|
||||
# '''Replacing pages:''' If you need to replace a page completely, do so by replacing the '''content''' of the existing page, rather than moving the page to the Trash and creating a new page in its place. Replacing the content will leave the original page (and its UUID) in place, but with the new content. UUID's are used by the [[Eiffel Information System]] (EIS) to link EiffelStudio to documentation pages, and will be broken if the original page were to be deleted.
|
||||
# '''Using templates:'''
|
||||
## There are several "templates" available for use within the text of documentation pages. For example, "Note", "SeeAlso", "Rule", "Definition", "Caution". You can click on "List templates" in the left margin to see the list of available templates.
|
||||
## While developing new pages or make significant changes to existing pages you may want to mark the tops of these pages temporarily with certain templates during the development process. The "top-of-the-page" templates most useful during page maintenance are Beta, ReviewRequested, UnderConstruction, and UpdateNeeded. The meanings of these are described below.
|
||||
|
||||
==="Top-of-the-page" Documentation template meanings===
|
||||
|
||||
====Beta====
|
||||
|
||||
Looks like this:
|
||||
|
||||
{{Beta}}
|
||||
|
||||
Means this:
|
||||
|
||||
:''Use this page with caution. This page is currently under development as a new page or a replacement for a previously existing page. It may contain information which describes capabilities not yet implemented. Avoid linking to this page. When this page comes out of beta, it is likely that the name and/or UUID of this page will change.''
|
||||
|
||||
|
||||
====ReviewRequested====
|
||||
|
||||
Looks like this:
|
||||
|
||||
{{ReviewRequested}}
|
||||
|
||||
Means this:
|
||||
|
||||
:''The material on this page needs to be reviewed for completeness and accuracy. If you have knowledge of this material, please review this page. If you are a [[Community|contributor]], feel free to make any appropriate additions and/or corrections, then remove this template. If not, you can note improvements on the [[Community#Using the Comments pages|comments]] page.''
|
||||
|
||||
|
||||
====UnderConstruction====
|
||||
|
||||
Looks like this:
|
||||
|
||||
{{UnderConstruction}}
|
||||
|
||||
Means this:
|
||||
|
||||
:''Use this page with caution. This page is currently under development. It is likely that the information on this page is still incomplete. ''
|
||||
|
||||
|
||||
====UpdateNeeded====
|
||||
|
||||
Looks like this:
|
||||
|
||||
{{UpdateNeeded}}
|
||||
|
||||
Means this:
|
||||
|
||||
:''Use this page with caution. This page has been identified as needing update. If you are a [[Community|contributor]], you can help by updating this page so that the information on it is current.''
|
||||
|
||||
|
||||
|
||||
5
documentation/22.05/_others/draft/index.wiki
Normal file
5
documentation/22.05/_others/draft/index.wiki
Normal file
@@ -0,0 +1,5 @@
|
||||
[[Property:title|Draft]]
|
||||
[[Property:weight|99]]
|
||||
[[Property:uuid|c277e707-67a0-14a2-099e-5b861f2480ad]]
|
||||
|
||||
|
||||
49
documentation/22.05/_others/draft/multiple-inheritance.wiki
Normal file
49
documentation/22.05/_others/draft/multiple-inheritance.wiki
Normal file
@@ -0,0 +1,49 @@
|
||||
[[Property:title|Multiple inheritance]]
|
||||
[[Property:weight|0]]
|
||||
[[Property:uuid|7f54afce-fd1d-fba7-7a55-f74604ea9846]]
|
||||
<h2>Multiple inheritance: definition</h2>
|
||||
|
||||
Multiple inheritance is a mechanism for combining abstractions. It lets you define a class by extending or specializing two or more classes, not just one as in <em>single</em> inheritance. For example you might define a multi_function printer as the combination of a printer and a scanner.
|
||||
|
||||
Multiple inheritance sometimes has the reputation of being complicated or even messy, but there is no such problem in Eiffel. "Name clashes", for example, are not a big deal: if classes <eiffel>A</eiffel> and <e>B</e> both have a feature with the same name <e>f</e> and class <e>C</e> inherits from both, you can either specify that they should be merged, or keep them separate through the <e>rename</e> mechanism. Details below.
|
||||
|
||||
<h2>Multiple inheritance basics</h2>
|
||||
|
||||
Multiple inheritance happens as soon as you list more than one class in the <e>inherit</e> clause at the beginning of a class. For example:
|
||||
|
||||
<eiffel>
|
||||
class PRINTER feature
|
||||
... Here the features specific to printers ...
|
||||
end
|
||||
|
||||
class SCANNER feature
|
||||
... Here the features specific to scanners ...
|
||||
end
|
||||
|
||||
class MULTI_FUNCTION_PRINTER inherit
|
||||
PRINTER
|
||||
SCANNER
|
||||
feature
|
||||
... Here the features specific to printer-scanners ...
|
||||
end
|
||||
</eiffel>
|
||||
|
||||
As with single inheritance, the new class has access to the parent features, except that here they are features of two different parents. For example if <e>PRINTER</e> has feature <print> and <e>SCANNER</e> has features <e>scan</e> and <e>scanned</e>, then the feature clause of <e>SCANNER</e> can include
|
||||
|
||||
<code>
|
||||
scan_and_print
|
||||
-- Scan a page and print it.
|
||||
do
|
||||
scan -- Leaves result of scan in `scanned'
|
||||
print (scanned)
|
||||
end
|
||||
</code>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
5
documentation/22.05/_others/draft/test-page.wiki
Normal file
5
documentation/22.05/_others/draft/test-page.wiki
Normal file
@@ -0,0 +1,5 @@
|
||||
[[Property:title|Test page]]
|
||||
[[Property:weight|0]]
|
||||
[[Property:uuid|6dc09e0f-b713-8c5b-799f-36a60264e8f8]]
|
||||
Test page for Book "Draft"
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 59 KiB |
@@ -0,0 +1,3 @@
|
||||
title=static documentation page
|
||||
author=halw
|
||||
path=content/static-documentation-page
|
||||
186
documentation/22.05/_others/guide/index.wiki
Normal file
186
documentation/22.05/_others/guide/index.wiki
Normal file
@@ -0,0 +1,186 @@
|
||||
[[Property:title|Guide]]
|
||||
[[Property:description|Central repository of information about Eiffel and the products and technologies of Eiffel Software]]
|
||||
[[Property:link_title|Information Guide]]
|
||||
[[Property:weight|10]]
|
||||
[[Property:uuid|68b37685-64e9-f564-9258-29e709a55f44]]
|
||||
'''Guide to Eiffel Information'''
|
||||
|
||||
These pages are the central repository of information about Eiffel and the products and technologies of Eiffel Software. They cover the online documentation, but also link to many valuable resources outside the documentation set.
|
||||
|
||||
If you are interested in [[Learning Eiffel|learning Eiffel, there is a list of resources]] dedicated to that purpose.
|
||||
|
||||
The online documentation is organized into virtual books. Each book covers an important aspect of the world of Eiffel. For cases in which it is not always possible to use the online version of the documentation, all or selected parts of the documentation set can be [[Offline use of the Eiffel documentation|downloaded for offline use]].
|
||||
|
||||
* [[Guide]] -- Guide to Eiffel Information
|
||||
* [[EiffelStudio]] -- The EiffelStudio Interactive Development Environment
|
||||
* [[Solutions]] -- Eiffel Solutions, Technologies, and Class Libraries
|
||||
* [[Platform specifics]] -- Specific support for particular platforms, e.g., Microsoft Windows
|
||||
* [[Method|Method and Language]] -- The Eiffel Method and Language
|
||||
* [[Why Eiffel?]] -- Why Eiffel?
|
||||
* [[Papers]] -- Technical and position papers relating to Eiffel and the engineering of high quality software
|
||||
* [[Examples]] -- Contributor supported examples of Eiffel solutions to common programming problems
|
||||
* [[Community]] -- Community Contributions
|
||||
<!--break-->
|
||||
Sources of information on Eiffel include:
|
||||
|
||||
==Books in the Eiffel Documentation==
|
||||
----
|
||||
|
||||
===[[Guide]] -- Guide to Eiffel Information===
|
||||
|
||||
:You are reading this book now.
|
||||
|
||||
===[[EiffelStudio]] -- The EiffelStudio Interactive Development Environment===
|
||||
|
||||
:Information about installing and using EiffelStudio
|
||||
|
||||
===[[Solutions]] -- Eiffel Solutions, Technologies, and Class Libraries===
|
||||
|
||||
:Technologies available with Eiffel provide solutions to many ordinary development needs ... and some extraordinary needs too. This book addresses these requirements and the Eiffel technologies that satisfy them.
|
||||
|
||||
===[[Platform specifics]] -- Support for particular operating systems===
|
||||
|
||||
:Although most Eiffel technology is completely platform-independent, Eiffel also provides important platform-specific solutions, described in this book.
|
||||
|
||||
===[[Method|Method and Language]] -- The Eiffel Method and Language===
|
||||
|
||||
:Materials promoting the understanding of the Eiffel software development method and the Eiffel programming language.
|
||||
|
||||
===[[Why Eiffel?]] -- Why Eiffel? ===
|
||||
|
||||
:A summary of the arguments for using Eiffel.
|
||||
|
||||
===[[Papers]] -- Technical and position papers relating to Eiffel===
|
||||
|
||||
:This book is a place for white papers which provide background, foundation, or supplemental information about the the Eiffel method and language as well as the goal of engineering high quality software.
|
||||
|
||||
===[[Examples]] -- Contributor supported examples of Eiffel solutions to common programming problems===
|
||||
|
||||
:Let's build a set of examples that can be shared on popular WWW program chrestomathies.
|
||||
|
||||
===[[Community]] -- You can contribute to the documentation!===
|
||||
|
||||
:EiffelStudio documentation is available in a convenient Wiki format. This makes it possible to improve the documentation continuously and make sure it is always up to date.
|
||||
|
||||
|
||||
|
||||
'''Community input''' is welcome. If you are interested in improving and developing EiffelStudio documentation, you can become a ''contributor'' or ''editor'':
|
||||
|
||||
* Contributors can edit existing pages in any book and add pages to Community Contributions books.
|
||||
|
||||
* Editors can modify and add pages in any book (including adding Community Contribution pages to an existing book).
|
||||
|
||||
To become a contributor, you should be proficient in Eiffel technology and have good written English skills. To become an editor, you should already have made significant improvements or additions as a contributor.
|
||||
|
||||
If you are interested in becoming a contributor, please send an email to info@eiffel.com with a short description of your Eiffel experience and any other relevant background. We look forward to your contributions!
|
||||
|
||||
|
||||
|
||||
----
|
||||
|
||||
==Other sources of information on Eiffel==
|
||||
|
||||
----
|
||||
|
||||
|
||||
===The [http://eiffel.com Eiffel.com] website===
|
||||
|
||||
Eiffel Software's website [http://eiffel.com Eiffel.com] contains an enormous amount of information about Eiffel. There are product descriptions, special pages for developers and their managers, case studies and testimonials, the latest Eiffel news, and much more.
|
||||
|
||||
|
||||
----
|
||||
|
||||
===[http://eiffel.com/developers/presentations/ Web Presentations] on Eiffel.com===
|
||||
|
||||
Learn quickly about Eiffel and the things that help make it special, like Design by Contract and EiffelStudio. Learn how Eiffel fits in with and compares to other popular technologies. All this and more is available on the [http://eiffel.com/developers/presentations/ presentations page] on Eiffel.com.
|
||||
|
||||
|
||||
----
|
||||
|
||||
===[http://eiffel.com/developers/learning_maps/ Learning Maps] on Eiffel.com===
|
||||
|
||||
Get an in-depth view of topics by navigating the [http://eiffel.com/developers/learning_maps/ Eiffel Learning Maps]. Learning maps represent knowledge as a network of interrelated concepts. Attached to the concepts you may find links to additional resources. These resources can be just about anything. You'll find plain text files, web pages, screen shots, and even Eiffel Learnlets. Learnlets are small units of learning in web presentation form that are designed to take no more than 30 minutes to view ... just right for your lunch break.
|
||||
|
||||
|
||||
----
|
||||
|
||||
===The [http://www.eiffelroom.com/ EiffelRoom] Website===
|
||||
|
||||
[http://www.eiffelroom.com/ EiffelRoom] is an Eiffel community website on which Eiffel developers from across the globe come together and share their experiences ... and their products. You'll find how-to articles, tips and tricks, example code, whole libraries of EIffel classes, and specialized products. It is easy to contribute to EiffelRoom and start giving back to the community.
|
||||
|
||||
|
||||
----
|
||||
|
||||
===The Eiffel Software User Group===
|
||||
|
||||
The Eiffel Software Users' Group is a focus group for those who use the products of Eiffel Software. Its primary communication vehicle is a [http://groups.eiffel.com/ collaborative discussion group]. The group mailing list is monitored by Eiffel Software developers and many highly experienced Eiffel programmers. So if you have questions or comments about Eiffel Software products, this is a good place to be.
|
||||
|
||||
|
||||
----
|
||||
|
||||
===The EiffelWorld Newsletter===
|
||||
|
||||
A few times a year, we send out an email newsletter containing announcements of new versions of products, upcoming events, newly added technologies, website changes, editorials, and contributions from the community. To subscribe send a request to [mailto:info@eiffel.com info@eiffel.com].
|
||||
|
||||
|
||||
----
|
||||
|
||||
===[[Object-Oriented Software Construction, 2nd Edition]]===
|
||||
|
||||
There is no better place to gain an in-depth understanding of the Eiffel software development method than [[Object-Oriented Software Construction, 2nd Edition]], by Bertrand Meyer, published by Prentice Hall. It is the world's most complete guide to building great object-oriented software.
|
||||
|
||||
|
||||
----
|
||||
|
||||
===Other [[Books about the Eiffel Method and Language|books about the Eiffel Method and Language]]===
|
||||
|
||||
|
||||
----
|
||||
|
||||
===The Standard: ''Eiffel: Analysis, Design, and Programming Language''===
|
||||
|
||||
Eiffel has been standardized under ISO and ECMA. The comprehensive description of the standard Eiffel programming language is presented in [http://www.ecma-international.org/publications/standards/Ecma-367.htm Standard ECMA-367].
|
||||
|
||||
|
||||
|
||||
----
|
||||
|
||||
===Contribute to Eiffel===
|
||||
|
||||
You can help Eiffel by contributing your time, expertise, and products. Here are some websites that you can visit to see what's up with the development of Eiffel Software products.
|
||||
|
||||
====[http://dev.eiffel.com dev.eiffel.com]====
|
||||
|
||||
:This [http://dev.eiffel.com wiki site] is the hub of development activity for the EiffelStudio interactive development environment. Even if you do not plan to contribute, dev.eiffel.com is a valuable source of information concerning where EiffelStudio is going ... and, if you're curious, where it has been.
|
||||
|
||||
====[http://eiffelstudio.origo.ethz.ch/ EiffelStudio on Origo]====
|
||||
|
||||
:[http://eiffelstudio.origo.ethz.ch/ EiffelStudio on Origo] contains blogs and forums focusing on Eiffel and EiffelStudio topics.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
----
|
||||
|
||||
==[[uuid:b8c10baa-4f50-adfe-a6f8-9cb56a8f1917|Glossary of Object Technology]]==
|
||||
|
||||
----
|
||||
|
||||
|
||||
This is a relatively comprehensive glossary of terms used in Object-Oriented Analysis, Design, and programming, but are not specific to the Eiffel Language, since object-oriented principles can be applied to any programming language. It contains all the terms from the glossary in [[Object-Oriented Software Construction, 2nd Edition]], plus others used in this website, added for clarity and ease of reference.
|
||||
|
||||
This glossary is useful all by itself, since a review of it can serve as a refresher (in case you have been away from Object Technology for a while). It is used in this website to assist the reader by providing easy links to technical terms that are used throughout the website.
|
||||
|
||||
Additionally, it is possible to link to terms in this glossary from other websites by using links that look like this:
|
||||
|
||||
:<nowiki>http://docs.eiffel.com/book/guide/glossary-object-technology#Attribute</nowiki>
|
||||
|
||||
or a version that will survive the page being moved:
|
||||
|
||||
:<nowiki>http://docs.eiffel.com/isedoc/uuid/b8c10baa-4f50-adfe-a6f8-9cb56a8f1917#Attribute</nowiki>
|
||||
|
||||
Note that the anchor (the part after the "#") has to be spelled and capitalized exactly like the term on the page. (Use underscore characters to replace spaces.)
|
||||
|
||||
----
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
[[Property:title|Offline use of the Eiffel Documentation]]
|
||||
[[Property:link_title|Download Documentation]]
|
||||
[[Property:weight|0]]
|
||||
[[Property:uuid|e5f003f6-c732-c648-fd67-91f6642130f0]]
|
||||
It is possible to download the books of the Eiffel online documentation for viewing offline with a web browser.
|
||||
|
||||
To do this you use a [http://docs.eiffel.com/static/ web page] which has links to downloadable files that contain copies of the documentation in different forms and quantities.
|
||||
|
||||
|
||||
[[Image:static documentation page|Downloadable documentation]]
|
||||
|
||||
|
||||
The files are ".7z" files, meaning that they are compressed archives in [http://www.7-zip.org 7-zip] format. So, you can use any 7-zip compatible expander to unpack the files.
|
||||
|
||||
You'll notice that the options for downloading come in three groups:
|
||||
|
||||
# HTML: Multiple pages per book.
|
||||
# HTML: One big page per book.
|
||||
# WikiText+meta: raw files containing wikitext (backup)
|
||||
|
||||
You should choose your files from one of the HTML options (the WikiText option is used for backup).
|
||||
|
||||
It is possible also to download one documentation "book" at a time, or to download all books in one archive.
|
||||
|
||||
The files are static copies of the content of the online documentation, as reflected by the dates shown on the web page.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
11
documentation/22.05/_others/why-eiffel/index.wiki
Normal file
11
documentation/22.05/_others/why-eiffel/index.wiki
Normal file
@@ -0,0 +1,11 @@
|
||||
[[Property:title|Why Eiffel?]]
|
||||
[[Property:description|arguments for using Eiffel]]
|
||||
[[Property:weight|11]]
|
||||
[[Property:uuid|df007537-c0dd-2ea6-233b-764ad483eb65]]
|
||||
This book collects arguments for using Eiffel.
|
||||
|
||||
Even though we in the Eiffel community know that Eiffel is the most advanced object-oriented software development framework on this planet, that fact may not be so obvious to everyone else. Consequently, we felt that it would be helpful to provide some brief documents that spell out the reasons why the people who have chosen Eiffel have been so successful.
|
||||
|
||||
You may find the information helpful if you are simply curious about Eiffel, if you are actively looking for a better development framework, or if you are busy trying to convince others to try Eiffel.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user