├── .gitattributes
├── .gitignore
├── TODOs.py
├── docs
├── .infra
│ └── docs
│ │ ├── extensions
│ │ └── scribeextension.py
│ │ ├── static
│ │ └── custom.css
│ │ └── templates
│ │ └── page.html
├── Makefile
├── README.rst
├── assembla
│ ├── index.rst
│ └── media
│ │ ├── AssemblaSVNURI.jpg
│ │ ├── AssemblaSignInForm.jpg
│ │ ├── AssemblaSignInLink.jpg
│ │ └── AssemblaSplashScreen.jpg
├── bin
│ ├── activate.cmd
│ ├── activate.sh
│ ├── gendoc.cmd
│ └── gendoc.sh
├── checkstyle
│ └── index.rst
├── chrome
│ └── .gitignore
├── conf.py
├── diigo
│ ├── index.rst
│ └── media
│ │ ├── diigo4chrome.jpg
│ │ └── diigoGroups.jpg
├── django
│ ├── docs
│ │ └── django-cheat-sheet-a.pdf
│ ├── index.rst
│ └── notes.txt
├── firefox
│ └── .gitignore
├── ganttproject
│ ├── docs
│ │ ├── HouseBuildingSample.gan
│ │ ├── apprendre-gantt-project-version-26-vers-17janv2014.pdf
│ │ └── ganttproject-handbook52.pdf
│ ├── index.rst
│ └── media
│ │ ├── Project_Calendar.png
│ │ ├── Project_NameAndDescription.png
│ │ ├── Project_ResourceRoles.png
│ │ ├── Resources_CustomColumns.png
│ │ ├── Resources_CustomFieldsManager.png
│ │ ├── Resources_DaysOff.png
│ │ ├── Resources_General.png
│ │ ├── Resources_TaskAllocation.png
│ │ ├── Resources_TaskList.png
│ │ ├── Tasks_CustomColumns.png
│ │ ├── Tasks_CustomFieldsManager.png
│ │ ├── Tasks_GanttGraph.png
│ │ ├── Tasks_General.png
│ │ ├── Tasks_Hierarchy.png
│ │ ├── Tasks_PertGraph.png
│ │ ├── Tasks_Predecessors.png
│ │ ├── Tasks_Resources.png
│ │ ├── gantt.png
│ │ ├── pert.jpg
│ │ └── resource.png
├── github
│ ├── docs
│ │ ├── GestionDeProduits-GitWorkflows-6.pdf
│ │ └── dist-GitCheatSheet-21.pdf
│ ├── index.rst
│ ├── media
│ │ ├── BitBucketSourceTree.jpg
│ │ ├── atlassian_comparing_workflow.png
│ │ ├── atlassian_tutorial.png
│ │ ├── bitbucket-project.jpg
│ │ ├── bloblevel.png
│ │ ├── data_centric_cheatsheet.png
│ │ ├── gitDownload.jpg
│ │ ├── git_interactive_cheatsheet.png
│ │ ├── git_visual_guide.png
│ │ ├── git_workflow_cheatsheet.png
│ │ ├── github-join.jpg
│ │ ├── github-project.jpg
│ │ ├── github-splash.jpg
│ │ ├── github2shell.jpg
│ │ ├── github4mac.jpg
│ │ ├── github4windows.jpg
│ │ ├── github_cheat_sheet.png
│ │ ├── gitshell.jpg
│ │ ├── interactive_git_console.png
│ │ └── slides_git_workflow.png
│ └── notes.txt
├── googlesuite
│ └── index.rst.txt
├── graphviz
│ ├── docs
│ │ └── graphviz-cheat-sheet-a.pdf
│ ├── index.rst
│ └── media
│ │ └── examples.jpg
├── index.rst
├── java
│ └── index.rst
├── kmade
│ ├── docs
│ │ ├── KMADe-1.2-UserManual-FR.pdf
│ │ ├── templateSortieSki.kxml
│ │ └── testDTDScenario.ksxml
│ ├── index.rst
│ └── media
│ │ └── task-model.jpg
├── lejeudupromoteur.rst
├── modelio
│ ├── index.rst
│ └── media
│ │ ├── ModelioCoExplorer.png
│ │ ├── ModelioJavadocAPIClass.png
│ │ ├── ModelioMetamodelDocumentationClass.png
│ │ ├── ModelioSVNLogin.jpg
│ │ ├── ModelioSVNWorkModels.jpg
│ │ ├── ModelioScriptDebugMode.png
│ │ ├── ModelioScriptHelloWorld.png
│ │ ├── ModelioSvnConfigurationMenu.jpg
│ │ ├── ModelioSvnDocumentation.jpg
│ │ ├── ModelioWelcome.png
│ │ ├── ModelionSVNFragment.jpg
│ │ ├── forums.jpg
│ │ ├── help.jpg
│ │ └── various-models.jpg
├── mysql
│ └── index.rst
├── notepadpp
│ └── notes.txt
├── pandoc
│ └── index.rst
├── pycharm
│ ├── index.rst
│ ├── media
│ │ └── PyCharmSplash.jpg
│ └── notes.txt
├── pylint
│ └── index.rst
├── python
│ ├── docs
│ │ ├── JythonInANutshell-3.pdf
│ │ ├── PythonGoogle.png
│ │ ├── python-cheat-sheet-a.pdf
│ │ ├── python-cheat-sheet-b.pdf
│ │ ├── python-cheat-sheet-c.png
│ │ ├── python-french-cheat-sheet-d.pdf
│ │ └── python-regular-expression-cheat-sheet.pdf
│ ├── downloads
│ │ ├── README.txt
│ │ └── requirements-ubuntu.txt
│ └── index.rst
├── readthedocs
│ ├── index.rst
│ └── media
│ │ └── SphinxRTDTheme.png
├── schemacrawler
│ ├── index.rst
│ └── media
│ │ └── diagram_example.jpg
├── schemaspy
│ ├── archives
│ │ └── SchemaSpyWebSite.zip
│ ├── index.rst
│ └── media
│ │ ├── SchemaSpyDefaults.png
│ │ └── SchemaSpySchema.png
├── scribesgit
│ ├── index.rst
│ └── media
│ │ └── WorkDefinitionExample.png
├── selenium
│ └── index.rst
├── sphinx
│ ├── docs
│ │ ├── Chrome - Markdown Preview Plus.URL
│ │ ├── Firefox - Markdown Viewer.URL
│ │ ├── PyCharm - Idea-Markdown.url
│ │ ├── ReText - Home - ReText.url
│ │ ├── Thunderbird - Markdown Here Add-ons.URL
│ │ ├── idea-markdown.zip
│ │ ├── markdown-cheat-sheet.pdf
│ │ ├── reStructuredText tool support - Stack Overflow.url
│ │ ├── rest-cheatsheet-a.pdf
│ │ └── rest-cheatsheet-b.pdf
│ ├── index.rst
│ └── notes.txt
├── sqlite
│ └── index.rst
├── travisci
│ ├── index.rst
│ └── media
│ │ └── TravisCI.jpg
├── ubuntu
│ └── index.rst
├── useocl
│ ├── docs
│ │ ├── Demo.use
│ │ ├── OCL-Specification-formal-14-02-03.pdf
│ │ ├── README.examples.txt
│ │ ├── UMLOCL-CheatSheet-18.pdf
│ │ ├── examples
│ │ │ ├── .gitignore
│ │ │ ├── CoffeeDispenser.use
│ │ │ ├── SOILByExample.soil
│ │ │ ├── TollCollect.use
│ │ │ ├── USEByExample.use
│ │ │ ├── association-1.soil
│ │ │ ├── association.use
│ │ │ ├── association_class.use
│ │ │ ├── background.soil
│ │ │ ├── ex1.soil
│ │ │ ├── ex1.use
│ │ │ ├── jungle_classes.use
│ │ │ ├── qualified-association-1.soil
│ │ │ ├── qualified-association.use
│ │ │ ├── soil.soil
│ │ │ ├── sys.use
│ │ │ └── validate.cmd
│ │ ├── use-demonstration.swf
│ │ ├── use-documentation.pdf
│ │ └── use-quick-tour.pdf
│ ├── index.rst
│ ├── media
│ │ ├── OCLCheatSheet.png
│ │ ├── PyCharm4USEOCL.png
│ │ ├── RunConfiguration.png
│ │ ├── USECheatSheet.png
│ │ ├── USEOCL-ClassDiagram.png
│ │ ├── USEOCL-gui.jpg
│ │ ├── USEOCL-shell.jpg
│ │ ├── USEOCL-video.jpg
│ │ ├── USEOCLAssociationClassUSE.png
│ │ ├── USEOCLAssociationSOIL.png
│ │ ├── USEOCLAssociationUSE.png
│ │ ├── USEOCLClasses.png
│ │ ├── USEOCLQualifiedAssociationSOIL.png
│ │ └── USEOCLQualifiedAssociationUSE.png
│ └── res
│ │ ├── GrepConsole.xml
│ │ ├── UseOCL.xml
│ │ └── checkScn001Razamanaz.xml
└── windows
│ ├── configuration.txt
│ └── index.rst
├── requirements.txt
└── setup.py
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
4 | # Custom for Visual Studio
5 | *.cs diff=csharp
6 |
7 | # Standard to msysgit
8 | *.doc diff=astextplain
9 | *.DOC diff=astextplain
10 | *.docx diff=astextplain
11 | *.DOCX diff=astextplain
12 | *.dot diff=astextplain
13 | *.DOT diff=astextplain
14 | *.pdf diff=astextplain
15 | *.PDF diff=astextplain
16 | *.rtf diff=astextplain
17 | *.RTF diff=astextplain
18 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .venv/
2 | .build/
3 | */archives/
4 |
5 | # Python / Jython
6 |
7 | *$py.class
8 | *.py[cod]
9 | __pycache__/
10 |
11 | # PyCharm
12 | .idea/
13 |
14 |
--------------------------------------------------------------------------------
/TODOs.py:
--------------------------------------------------------------------------------
1 | # TODO: Change the path to sphinx-build in Makefile
2 | # TODO: check why there is a bulk failure on Readthedocs
3 | # USE OCL pages have been improved, but the result cannot be published
4 | # TODO: check why replace |L| cause errors on Readthedocs (see config.html)
--------------------------------------------------------------------------------
/docs/.infra/docs/extensions/scribeextension.py:
--------------------------------------------------------------------------------
1 | def setup(app):
2 | app.add_config_value('local', '', True)
3 | app.add_config_value('web', '', True)
4 |
--------------------------------------------------------------------------------
/docs/.infra/docs/static/custom.css:
--------------------------------------------------------------------------------
1 | /*
2 | .toggle .header {
3 | display: block;
4 | clear: both;
5 | }
6 |
7 | .toggle .header:after {
8 | content: " ▼";
9 | }
10 |
11 | .toggle .header.open:after {
12 | content: " ▲";
13 | }
14 |
15 | .rst-content .toggle {
16 | background: none repeat scroll 0 0 #e7f2fa;
17 | padding: 12px;
18 | line-height: 24px;
19 | margin-bottom: 24px;
20 | }
21 | */
22 |
23 | .rst-content .toggle .admonition-title {
24 | display: block;
25 | clear: both;
26 | cursor: pointer;
27 | }
28 |
29 | .rst-content .toggle .admonition-title:after {
30 | content: " ▼";
31 | }
32 |
33 | .rst-content .toggle .admonition-title.open:after {
34 | content: " ▲";
35 | }
36 |
37 | .rst-content .toggle p:last-child {
38 | margin-bottom: 0;
39 | }
40 |
--------------------------------------------------------------------------------
/docs/.infra/docs/templates/page.html:
--------------------------------------------------------------------------------
1 | {% extends "!page.html" %}
2 |
3 | {% set css_files = css_files + ["._static/custom.css"] %}
4 |
5 | {% block footer %}
6 |
16 | {% endblock %}
--------------------------------------------------------------------------------
/docs/Makefile:
--------------------------------------------------------------------------------
1 | # Makefile for Sphinx documentation
2 | #
3 |
4 | # You can set these variables from the command line.
5 | SPHINXOPTS = -c . -q -w .build/buildErrors.txt
6 | SPHINXBUILD = sphinx-build
7 | PAPER =
8 | BUILDDIR = .build
9 |
10 | # Internal variables.
11 | PAPEROPT_a4 = -D latex_paper_size=a4
12 | PAPEROPT_letter = -D latex_paper_size=letter
13 | ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
14 |
15 | .PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest
16 |
17 | help:
18 | @echo "Please use \`make ' where is one of"
19 | @echo " html to make standalone HTML files"
20 | @echo " dirhtml to make HTML files named index.html in directories"
21 | @echo " singlehtml to make a single large HTML file"
22 | @echo " pickle to make pickle files"
23 | @echo " json to make JSON files"
24 | @echo " htmlhelp to make HTML files and a HTML help project"
25 | @echo " qthelp to make HTML files and a qthelp project"
26 | @echo " devhelp to make HTML files and a Devhelp project"
27 | @echo " epub to make an epub"
28 | @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
29 | @echo " latexpdf to make LaTeX files and run them through pdflatex"
30 | @echo " text to make text files"
31 | @echo " man to make manual pages"
32 | @echo " changes to make an overview of all changed/added/deprecated items"
33 | @echo " linkcheck to check all external links for integrity"
34 | @echo " doctest to run all doctests embedded in the documentation (if enabled)"
35 |
36 | clean:
37 | -rm -rf $(BUILDDIR)/*
38 |
39 | html:
40 | $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
41 | @echo
42 | @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
43 |
44 | dirhtml:
45 | $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
46 | @echo
47 | @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
48 |
49 | singlehtml:
50 | $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
51 | @echo
52 | @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
53 |
54 | pickle:
55 | $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
56 | @echo
57 | @echo "Build finished; now you can process the pickle files."
58 |
59 | json:
60 | $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
61 | @echo
62 | @echo "Build finished; now you can process the JSON files."
63 |
64 | htmlhelp:
65 | $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
66 | @echo
67 | @echo "Build finished; now you can run HTML Help Workshop with the" \
68 | ".hhp project file in $(BUILDDIR)/htmlhelp."
69 |
70 | qthelp:
71 | $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
72 | @echo
73 | @echo "Build finished; now you can run "qcollectiongenerator" with the" \
74 | ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
75 | @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Mapnik.qhcp"
76 | @echo "To view the help file:"
77 | @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Mapnik.qhc"
78 |
79 | devhelp:
80 | $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
81 | @echo
82 | @echo "Build finished."
83 | @echo "To view the help file:"
84 | @echo "# mkdir -p $$HOME/.local/share/devhelp/Mapnik"
85 | @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Mapnik"
86 | @echo "# devhelp"
87 |
88 | epub:
89 | $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
90 | @echo
91 | @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
92 |
93 | latex:
94 | $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
95 | @echo
96 | @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
97 | @echo "Run \`make' in that directory to run these through (pdf)latex" \
98 | "(use \`make latexpdf' here to do that automatically)."
99 |
100 | latexpdf:
101 | $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
102 | @echo "Running LaTeX files through pdflatex..."
103 | make -C $(BUILDDIR)/latex all-pdf
104 | @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
105 |
106 | text:
107 | $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
108 | @echo
109 | @echo "Build finished. The text files are in $(BUILDDIR)/text."
110 |
111 | man:
112 | $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
113 | @echo
114 | @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
115 |
116 | changes:
117 | $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
118 | @echo
119 | @echo "The overview file is in $(BUILDDIR)/changes."
120 |
121 | linkcheck:
122 | $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
123 | @echo
124 | @echo "Link check complete; look for any errors in the above output " \
125 | "or in $(BUILDDIR)/linkcheck/output.txt."
126 |
127 | doctest:
128 | $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
129 | @echo "Testing of doctests in the sources finished, look at the " \
130 | "results in $(BUILDDIR)/doctest/output.txt."
--------------------------------------------------------------------------------
/docs/README.rst:
--------------------------------------------------------------------------------
1 | ScribesTools
2 | ============
3 |
4 | This repository gathers documentation about some useful development tools.
5 |
6 | This documentation is better viewed on http://scribestools.readthedocs.org
7 |
8 | .. image:: https://readthedocs.org/projects/scribestools/badge/?version=latest
9 | :target: https://readthedocs.org/projects/scribestools/?badge=latest
10 | :alt: Documentation Status
11 |
12 |
--------------------------------------------------------------------------------
/docs/assembla/index.rst:
--------------------------------------------------------------------------------
1 | .. _`Assembla chapter`:
2 |
3 | Assembla
4 | ========
5 |
6 | Assembla_ is a hosting service in the cloud that support in particular
7 | SVN and git repositories. In practice this is a good option to host SVN
8 | repositories freely. Much more feature are available with paid plans.
9 |
10 | .. figure:: media/AssemblaSplashScreen.jpg
11 | :align: center
12 |
13 | Creating an account
14 | -------------------
15 | To get a free account use 'Pricing' and then click on the link
16 | ``Sign Up for a Free Plan`` that is on the page as shown below:
17 |
18 | .. figure:: media/AssemblaSignInLink.jpg
19 | :align: center
20 |
21 | You can sign up with a google account. Otherwise you will just need to a
22 | few information: username, password, email, first name, last name.
23 |
24 | .. figure:: media/AssemblaSignInForm.jpg
25 | :align: center
26 |
27 | Select add a SVN repository if this is what you want and give it a name.
28 | That's all.
29 |
30 | Adding collaborators to a repository
31 | ------------------------------------
32 | To add collaborators to the repository click on the repository and then
33 | select the ``Team`` tab. You just have to enter the email of each collaborator
34 | and select their status for the selected repository:
35 |
36 | * ``member`` for read/write access
37 | * ``watcher`` for read access
38 |
39 |
40 | Using a SVN repository
41 | ----------------------
42 | SVN repositories are used remotely via SVN client. In order to do this
43 | you must know the ``URI`` of the repository and give this URI to the client.
44 | The URI can be found on the repository page in the ``SVN`` tab in the
45 | ``Checkout URL`` field as shown below.
46 |
47 | .. figure:: media/AssemblaSVNURI.jpg
48 | :align: center
49 |
50 |
51 |
52 |
53 | ...............................................................................
54 |
55 | .. _Assembla: https://www.assembla.com
56 |
57 |
--------------------------------------------------------------------------------
/docs/assembla/media/AssemblaSVNURI.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/assembla/media/AssemblaSVNURI.jpg
--------------------------------------------------------------------------------
/docs/assembla/media/AssemblaSignInForm.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/assembla/media/AssemblaSignInForm.jpg
--------------------------------------------------------------------------------
/docs/assembla/media/AssemblaSignInLink.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/assembla/media/AssemblaSignInLink.jpg
--------------------------------------------------------------------------------
/docs/assembla/media/AssemblaSplashScreen.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/assembla/media/AssemblaSplashScreen.jpg
--------------------------------------------------------------------------------
/docs/bin/activate.cmd:
--------------------------------------------------------------------------------
1 | workon ReadTheDocs
2 |
3 |
--------------------------------------------------------------------------------
/docs/bin/activate.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | echo "Please type the following command in the shell"
3 | echo "$ workon ReadTheDocs"
4 |
5 |
--------------------------------------------------------------------------------
/docs/bin/gendoc.cmd:
--------------------------------------------------------------------------------
1 | @echo off
2 | call bin\activate.cmd
3 | REM FIXME: go to res and python manage.py extract ALL or something like that
4 | cd docs
5 | call make clean
6 | call make.bat html
7 | cd ..
8 |
9 |
--------------------------------------------------------------------------------
/docs/bin/gendoc.sh:
--------------------------------------------------------------------------------
1 | cd docs
2 | make clean
3 | make html
4 | cd ..
5 |
--------------------------------------------------------------------------------
/docs/checkstyle/index.rst:
--------------------------------------------------------------------------------
1 | .. _`CheckStyle chapter`:
2 |
3 | CheckStyle
4 | ==========
5 |
6 | Checkstyle_ is a `quality control`_ tool allowing to check adherence of java
7 | programs to coding standards. `Checkstyle`_ is written in java and runs on
8 | all platforms.
9 |
10 | Features
11 | --------
12 | `Checkstyle`_ comes by default with configurations files supporting Sun Code
13 | Conventions and Google Java Style but nearly everything can be configured.
14 | New checks can be written in java classes so nearly all kind of coding
15 | standards can virtually be implemented with `Checkstyle`_.
16 |
17 | Interoperability
18 | ----------------
19 |
20 | `Checkstyle`_ is already integrated in many different IDE in the form of
21 | plugins for instance. There is a large list of `tools related to Checkstyle`_.
22 |
23 |
24 | Installation
25 | ------------
26 |
27 | .. tip;
28 | CheckStyle is integrated as a plugin in many IDE such as Eclipse
29 | or Netbeans. Please refer to the documentation of your IDE if you just
30 | want to use it via this plugin. You can also have a look at the
31 | the list of `tools related to Checkstyle`_.
32 |
33 | On Ubuntu you can install CheckStyle_ has following::
34 |
35 | sudo apt-get install checkstyle
36 |
37 | Installing CheckStyle_ as a standalone tool is easy:
38 |
39 | * Create a directory ``%SCRIBESTOOLS%\CheckStyle``.
40 | * Download ``checkstyle-X.Y-all.jar`` |checkstyle-jar|.
41 | * Copy the jar file *into* ``%SCRIBESTOOLS%\CheckStyle\checkstyle-all.jar``
42 | (remove the version number).
43 | * Copy the files ``checkstyle.cmd`` and ``checkstyle.sh`` into the directory.
44 | * Add the ``%SCRIBESTOOLS%\CheckStyle`` directory to the path.
45 |
46 | .. todo
47 | update installation section
48 |
49 | Launching CheckStyle
50 | --------------------
51 |
52 | You check the installation as following. The option ``-h`` and ``-v`` display
53 | the CheckStyle_ help and version respectively::
54 |
55 | checkstyle -h
56 | checkstyle -v
57 |
58 | If you have a java program at hand (let's say ``MyProg.java``) and you want to
59 | use Sun Code Conventions on it type::
60 |
61 | checkstyle -c /sun_checks.xml MyProg.java
62 |
63 | Documentation
64 | -------------
65 |
66 | A lot of documentation is available online |checkstyle-doc|.
67 |
68 | .. ...........................................................................
69 |
70 |
71 | .. |checkstyle-jar| replace::
72 | `web `__
73 |
74 | .. |checkstyle-doc| replace::
75 | `web `__
76 |
77 | .. _`CheckStyle`:
78 | http://checkstyle.sourceforge.net/
79 |
80 | .. _`tools related to Checkstyle`:
81 | http://checkstyle.sourceforge.net/#Related_Tools
82 |
83 | .. _`quality control`:
84 | http://en.wikipedia.org/wiki/Quality_control
85 |
--------------------------------------------------------------------------------
/docs/chrome/.gitignore:
--------------------------------------------------------------------------------
1 | install/*
2 |
--------------------------------------------------------------------------------
/docs/conf.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | #
3 | # ScribesTools documentation build configuration file, created by
4 | # sphinx-quickstart on Fri Jan 16 23:33:22 2015.
5 | #
6 | # This file is execfile()d with the current directory set to its
7 | # containing dir.
8 | #
9 | # Note that not all possible configuration values are present in this
10 | # autogenerated file.
11 | #
12 | # All configuration values have a default; values that are commented out
13 | # serve to show the default.
14 |
15 | import sys
16 | import os
17 |
18 |
19 |
20 | import os.path
21 | CONF_DIR = os.path.dirname(os.path.realpath(__file__))
22 | PROJECT_DIR = CONF_DIR
23 | TOP_PROJECTS_DIR = os.path.realpath(os.path.join(PROJECT_DIR,'..'))
24 |
25 | # Removed due to read the docs compilation problem
26 | # INFRADOCS_DIR = os.path.realpath(os.path.join(CONF_DIR, '.infra', 'docs'))
27 |
28 | # SCRIBES_INFRA_DIR = os.path.realpath(os.path.join(TOP_PROJECTS_DIR,'ScribesInfra'))
29 | # SPHINX_ZONE_DIR = os.path.realpath(os.path.join(TOP_PROJECTS_DIR,'SphinxZone'))
30 | # if not os.path.isdir(SCRIBES_INFRA_DIR):
31 | # print 'FATAL ERROR: directory %s does not exist' % SCRIBES_INFRA_DIR
32 | # print ' Install ScribesInfra with git clone https//github.com/ScribesZone/ScribesInfa'
33 | # raise EnvironmentError('ScribesInfra not found. See message above.')
34 | # sys.path.insert(0, '.')
35 | # sys.path.insert(0, CONF_DIR)
36 | # sys.path.insert(0, SCRIBES_INFRA_DIR)
37 | # sys.path.insert(0, os.path.join(SCRIBES_INFRA_DIR,'libs'))
38 | # sys.path.insert(0, SPHINX_ZONE_DIR)
39 | # sys.path.insert(0, os.path.join(SPHINX_ZONE_DIR,'libs'))
40 |
41 | # Removed due to read the docs compilation problem
42 | # sys.path.insert(0, os.path.abspath(os.path.join(INFRADOCS_DIR, 'extensions')))
43 |
44 |
45 |
46 | # -- General configuration ------------------------------------------------
47 |
48 | #images_config = {
49 | # "override_image_directive": True
50 | #}
51 |
52 | extensions = [
53 | # 'scribeextension',
54 | # 'sphinxcontrib.images',
55 | # %JFE+]
56 | # 'sphinx.ext.autodoc',
57 | # 'sphinx.ext.doctest',
58 | # 'sphinx.ext.intersphinx',
59 | # 'sphinx.ext.todo',
60 | # 'sphinx.ext.coverage',
61 | # 'sphinx.ext.ifconfig',
62 | # 'sphinx.ext.viewcode',
63 | ]
64 |
65 | # Add any paths that contain templates here, relative to this directory.
66 | # Removed due to read the docs compilation problem
67 | # templates_path = [os.path.join(INFRADOCS_DIR, 'templates')]
68 |
69 | # You can specify multiple suffix as a list of string:
70 | # source_suffix = ['.rst', '.md']
71 | source_suffix = '.rst'
72 |
73 | # The encoding of source files.
74 | #source_encoding = 'utf-8-sig'
75 |
76 | # The master toctree document.
77 | master_doc = 'index'
78 |
79 | # General information about the project.
80 | project = u'ScribesTools'
81 | copyright = u'2015, (CC)(SA)(BY)escribis'
82 |
83 |
84 | release = '0.6.1'
85 | version = '.'.join(release.split('.')[:-1])
86 |
87 | exclude_patterns = ['.build', 'README.rst']
88 | default_role = 'any'
89 |
90 |
91 | show_authors = False
92 |
93 | pygments_style = 'sphinx'
94 |
95 | # A list of ignored prefixes for module index sorting.
96 | #modindex_common_prefix = []
97 |
98 | # If true, keep warnings as "system message" paragraphs in the built documents.
99 | #keep_warnings = False
100 |
101 |
102 | # -- Options for HTML output ----------------------------------------------
103 |
104 | # The theme to use for HTML and HTML Help pages. See the documentation for
105 | # a list of builtin themes.
106 | # %JFE+[
107 | # html_theme = 'default'
108 |
109 |
110 | # read the docs theme.
111 | # see https://github.com/snide/sphinx_rtd_theme
112 |
113 | # on_rtd is whether we are on readthedocs.org
114 | on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
115 | local = not on_rtd
116 | todo_include_todos = local
117 | web = on_rtd
118 | if local: # only import and set the theme if we're building docs locally
119 | import sphinx_rtd_theme
120 |
121 | html_theme = 'sphinx_rtd_theme'
122 | html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
123 | #local = True
124 | #web = False
125 | rst_prolog = """
126 | .. |L| replace::
127 | local
128 | """
129 | else:
130 | rst_prolog = """
131 | .. |L| replace::
132 |
133 | """
134 |
135 |
136 | # otherwise, readthedocs.org uses their theme by default, so no need to specify it
137 |
138 |
139 | # %JFE+]
140 |
141 |
142 | # Theme options are theme-specific and customize the look and feel of a theme
143 | # further. For a list of options available for each theme, see the
144 | # documentation.
145 | #html_theme_options = {}
146 |
147 | # Add any paths that contain custom themes here, relative to this directory.
148 | #html_theme_path = []
149 |
150 | # The name for this set of Sphinx documents. If None, it defaults to
151 | # " v documentation".
152 | #html_title = None
153 |
154 | # A shorter title for the navigation bar. Default is the same as html_title.
155 | #html_short_title = None
156 |
157 | # The name of an image file (relative to this directory) to place at the top
158 | # of the sidebar.
159 | #html_logo = None
160 |
161 | # The name of an image file (within the static path) to use as favicon of the
162 | # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
163 | # pixels large.
164 | #html_favicon = None
165 |
166 | # Add any paths that contain custom static files (such as style sheets) here,
167 | # relative to this directory. They are copied after the builtin static files,
168 | # so a file named "default.css" will overwrite the builtin "default.css".
169 |
170 | # Removed due to read the docs compilation problem
171 | # templates_path = [os.path.join(INFRADOCS_DIR, 'static')]
172 |
173 | # Add any extra paths that contain custom files (such as robots.txt or
174 | # .htaccess) here, relative to this directory. These files are copied
175 | # directly to the root of the documentation.
176 | #html_extra_path = []
177 |
178 | # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
179 | # using the given strftime format.
180 | #html_last_updated_fmt = '%b %d, %Y'
181 |
182 | # If true, SmartyPants will be used to convert quotes and dashes to
183 | # typographically correct entities.
184 | #html_use_smartypants = True
185 |
186 | # Custom sidebar templates, maps document names to template names.
187 | #html_sidebars = {}
188 |
189 | # Additional templates that should be rendered to pages, maps page names to
190 | # template names.
191 | #html_additional_pages = {}
192 |
193 | # If false, no module index is generated.
194 | #html_domain_indices = True
195 |
196 | # If false, no index is generated.
197 | #html_use_index = True
198 |
199 | # If true, the index is split into individual pages for each letter.
200 | #html_split_index = False
201 |
202 | # If true, links to the reST sources are added to the pages.
203 | #html_show_sourcelink = True
204 |
205 | # If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
206 | #html_show_sphinx = True
207 |
208 | # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
209 | #html_show_copyright = True
210 |
211 | # If true, an OpenSearch description file will be output, and all pages will
212 | # contain a tag referring to it. The value of this option must be the
213 | # base URL from which the finished HTML is served.
214 | #html_use_opensearch = ''
215 |
216 | # This is the file name suffix for HTML files (e.g. ".xhtml").
217 | #html_file_suffix = None
218 |
219 | # Output file base name for HTML help builder.
220 | htmlhelp_basename = 'ScribesToolsdoc'
221 |
222 |
223 | # -- Options for LaTeX output ---------------------------------------------
224 |
225 | latex_elements = {
226 | # The paper size ('letterpaper' or 'a4paper').
227 | #'papersize': 'letterpaper',
228 |
229 | # The font size ('10pt', '11pt' or '12pt').
230 | #'pointsize': '10pt',
231 |
232 | # Additional stuff for the LaTeX preamble.
233 | #'preamble': '',
234 | }
235 |
236 | # Grouping the document tree into LaTeX files. List of tuples
237 | # (source start file, target name, title,
238 | # author, documentclass [howto, manual, or own class]).
239 | latex_documents = [
240 | ('index', 'ScribesTools.tex', u'ScribesTools Documentation',
241 | u'escribis', 'manual'),
242 | ]
243 |
244 | # The name of an image file (relative to this directory) to place at the top of
245 | # the title page.
246 | #latex_logo = None
247 |
248 | # For "manual" documents, if this is true, then toplevel headings are parts,
249 | # not chapters.
250 | #latex_use_parts = False
251 |
252 | # If true, show page references after internal links.
253 | #latex_show_pagerefs = False
254 |
255 | # If true, show URL addresses after external links.
256 | #latex_show_urls = False
257 |
258 | # Documents to append as an appendix to all manuals.
259 | #latex_appendices = []
260 |
261 | # If false, no module index is generated.
262 | #latex_domain_indices = True
263 |
264 |
265 | # -- Options for manual page output ---------------------------------------
266 |
267 | # One entry per manual page. List of tuples
268 | # (source start file, name, description, authors, manual section).
269 | man_pages = [
270 | ('index', 'scribestools', u'ScribesTools Documentation',
271 | [u'escribis'], 1)
272 | ]
273 |
274 | # If true, show URL addresses after external links.
275 | #man_show_urls = False
276 |
277 |
278 | # -- Options for Texinfo output -------------------------------------------
279 |
280 | # Grouping the document tree into Texinfo files. List of tuples
281 | # (source start file, target name, title, author,
282 | # dir menu entry, description, category)
283 | texinfo_documents = [
284 | ('index', 'ScribesTools', u'ScribesTools Documentation',
285 | u'escribis', 'ScribesTools', 'One line description of project.',
286 | 'Miscellaneous'),
287 | ]
288 |
289 | # Documents to append as an appendix to all manuals.
290 | #texinfo_appendices = []
291 |
292 | # If false, no module index is generated.
293 | #texinfo_domain_indices = True
294 |
295 | # How to display URL addresses: 'footnote', 'no', or 'inline'.
296 | #texinfo_show_urls = 'footnote'
297 |
298 | # If true, do not generate a @detailmenu in the "Top" node's menu.
299 | #texinfo_no_detailmenu = False
300 |
301 |
302 | # Example configuration for intersphinx: refer to the Python standard library.
303 | intersphinx_mapping = {'http://docs.python.org/': None}
304 |
--------------------------------------------------------------------------------
/docs/diigo/index.rst:
--------------------------------------------------------------------------------
1 | .. _`Diigo chapter`:
2 |
3 | Diigo
4 | =====
5 |
6 | Diigo_ is a collaborative bookmarking and annotation service on the cloud.
7 |
8 | Features
9 | --------
10 |
11 | Diigo_ allows to:
12 |
13 | * manage bookmarks (and store them in the cloud, not on your computers)
14 | * create notes and create libraries of images from the web
15 | * annotate any web pages and also pdf from the web
16 | * create groups and share information (bookmarks, notes, annotations) among
17 | these groups
18 | * generate rss feeds that are updated every time you publish a new link
19 |
20 | Installation
21 | ------------
22 |
23 | You have fist to `register to Diigo`_ and select the free plan. This will
24 | give you access to the web interface of Diigo_.
25 |
26 | .. figure:: media/diigoGroups.jpg
27 | :align: center
28 |
29 | Diigo web interface for managing groups
30 |
31 | To take the full profit of Diigo_ (and in particular to add annotations) you
32 | should install a plugin for you favorite browser. You can either search
33 | the web for with google ``diigo plugin chrome`` for instance or use the
34 | `Diigo tools`_ page (use the Extension/Web Apps). Diigo_ is also available on
35 | android and iphone.
36 |
37 | .. figure:: media/diigo4chrome.jpg
38 | :align: center
39 |
40 | "Annotate & Capture the Web" in action, the plugin for Chrome
41 |
42 |
43 |
44 | .. ............................................................................
45 | .. _Diigo: https://www.diigo.com
46 | .. _`register to Diigo`: https://www.diigo.com/sign-up
47 | .. _`Diigo tools`: https://www.diigo.com/tools
48 |
--------------------------------------------------------------------------------
/docs/diigo/media/diigo4chrome.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/diigo/media/diigo4chrome.jpg
--------------------------------------------------------------------------------
/docs/diigo/media/diigoGroups.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/diigo/media/diigoGroups.jpg
--------------------------------------------------------------------------------
/docs/django/docs/django-cheat-sheet-a.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/django/docs/django-cheat-sheet-a.pdf
--------------------------------------------------------------------------------
/docs/django/index.rst:
--------------------------------------------------------------------------------
1 | .. _`Django chapter`:
2 |
3 | Django
4 | ======
5 |
6 | Django_ is a open source web application framework written in Python.
7 | Django's primary goal is to ease the creation of complex, database-driven
8 | websites.
9 |
10 | Features
11 | --------
12 | `Django at Glance`_ gives an idea about django development.
13 |
14 | Installation
15 | ------------
16 |
17 | Django is based on python. Follow the instructions in the
18 | :ref:`Python Installation` section if not already done. These instructions
19 | install python but also Django_ as well as many useful Django_ components.
20 |
21 | .. Note::
22 |
23 | The installation is done in the ``ScribeEnv`` virtual environment.
24 | Make sure to execute the following command::
25 |
26 | workon ScribeEnv
27 |
28 | The shell prompt should then start with ``(ScribeEnv)`` meaning that
29 | you are working in the proper virtual environment.
30 |
31 |
32 | Launching Django
33 | ----------------
34 |
35 | If you want to check that Django_ is installed you can try the following::
36 |
37 | workon ScribeEnv
38 | python -c "import django; print(django.get_version())"
39 | django-admin --version
40 |
41 |
42 | Documentation
43 | -------------
44 |
45 | In the open source community Django_ is reknown for the quality of its
46 | documentation_. After reading `Django at Glance`_ the best way to start is
47 | to read the `Django Tutorial`_.
48 |
49 | .. todo add references to the cheat sheets in docs/
50 |
51 | .. .............................................................................
52 |
53 |
54 | .. _`Django`:
55 | https://www.djangoproject.com/
56 |
57 | .. _`documentation`:
58 | https://docs.djangoproject.com
59 |
60 | .. _`Django at Glance`:
61 | https://docs.djangoproject.com/en/1.8/intro/overview/
62 |
63 | .. _`Django Tutorial`:
64 | https://www.djangoproject.com/
65 |
66 |
--------------------------------------------------------------------------------
/docs/django/notes.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | .. Django
8 | manage.py sqlclear demo_scrapy | manage.py dbshell
9 | manage.py syncdb
10 |
11 | .. Installation de django.
12 | Documentation additionnelle si nécessaire: https://docs.djangoproject.com/en/1.6/intro/install/
13 | https://docs.djangoproject.com/en/1.6/topics/install/
14 | (1) installer django via la commande “pip install Django==1.6.6”
15 | (2) tester en lancant l’interpreteur “python”. taper “import django ; print django.get_version()”. Ce programme doit afficher “1.6.6”
16 | (4) pour tester le serveur
17 | (4.a) aller dans un repertoire temporaire;
18 | (4.b) django-admin.py startproject testdjango (si cela ne marche pas sous windows taper le chemin absolu par exemple C:\Python27\Scripts\django-admin.py). Cette commande doit créer un repertoire testdjango. En cas de problème se reporter à https://docs.djangoproject.com/en/1.6/faq/troubleshooting/#troubleshooting-django-admin-py
19 | (4.c) aller dans le répertoire créé cd testdjango
20 | (4.d) créer la base de données: manage.py syncdb. Créer un compte administrateur.
21 | (4.e) lancer le serveur: manage.py runserveur. Affiche “Validating models… Quit the server with CTRL-BREAK”
22 | (4.f) dans un navigateur ouvrir l’URL http://localhost:8000/admin/ . Apres avoir une fenêtre de connection (entrer le login et mot de passe définis auparavant), une page affiche “Administration - Groups, Users - etc.”
23 |
24 |
25 | .. Installation de packages pour django
26 | Pour info une liste de packages est disponible https://www.djangopackages.com/
27 |
28 |
29 |
30 |
31 | #generator
32 | django-softmachine ?
33 |
34 | MinGW → trop compliqué
35 | nécessaire pour utiliser certaine libraries nécessistant de la compilation C
36 | télécharger http://sourceforge.net/projects/mingw/files/latest/download?source=files
37 | installer (il n’est pas nécessaire d’installer la version avec l’interface graphique)
38 | le mettre dans le path le repertoire MinGW/bin par exemple %SCRIBESTOOLS%\MinGW\bin
39 |
40 |
41 |
42 | Django Core Models (->1.8)
43 | https://docs.djangoproject.com/en/1.6/topics/db/models/
44 | help_text
45 | verbose_name
46 | primary_key
47 | unique
48 | meaning through?
49 | through_fields
50 | symmetrical
51 | Meta.ordering
52 | get_absolute_url()
53 | Meta.related_name pb with inherit
54 | parent_link = ‘super’
55 |
56 | Django Meta Options (->1.8)
57 | https://docs.djangoproject.com/en/1.6/ref/models/options/#
58 | order_with_respect_to
59 | ordering
60 | permission
61 | unique_together
62 | verbose_name
63 | verbose_name_plural
64 | Django Query (->1.8)
65 | https://docs.djangoproject.com/en/1.6/topics/db/queries/
66 | o = Class.objects.create(a=..., b=...,r=...)
67 | o.save()
68 |
69 | o.a
70 | o.r
71 | o.r.add(o2,o3,o4)
72 | Class.objects.all()
73 | qs.filter(...) : qs
74 | qs.exclude(...) :qs
75 | qs.annotate(...) : qs
76 |
77 | qs.update(...)
78 | qs.delete(...)
79 | qs.get(...) : o
80 | qs.aggregate(...) : v
81 | qs.exists(...) : b
82 |
83 | att__op=
84 | [i]exact,[i]contains,[i]startswith,[i]endwith,search,regex,iregex
85 | in
86 | isnull
87 | gt,gte,lt,lte,range
88 | att__att=
89 | year,month,day,week_day,hour,minute,second
90 | Aggregation classe: Avg, Count, Max, Min, Sum, StDev; Variance
91 |
92 | Django Actions (->1.8)
93 | https://docs.djangoproject.com/en/1.6/ref/contrib/admin/actions/
94 |
95 |
96 | Django - Grappelli (->1.7)
97 | http://grappelliproject.com/
98 | installed from http://django-grappelli.readthedocs.org/en/latest/quickstart.html#installation
99 | see the settings.py and urls.py to see where to put settings.
100 | create a directory static and add a variable STATIC_ROOT = os.path.join(BASE_DIR, "static")
101 | launch a command like manage.py collectstatic (see the documentation)
102 |
103 | Django extensions (->1.8?)
104 | http://django-extensions.readthedocs.org/
105 | autocompletion for FK
106 | shell_plus
107 | runscript
108 | dumpscript
109 | sqlcreate
110 | some field types (uuid)
111 |
112 |
113 | Django - Polymorphic (->1.8)
114 | installation : see https://django-polymorphic.readthedocs.org/en/latest/quickstart.html
115 | installed, work fine
116 |
117 | Django import export
118 | https://www.djangopackages.com/packages/p/django-import-export/
119 | install tablib which produces syntax errors, could be ignored according to forums
120 | # template to change for compatibility with grappelli
121 |
122 | Django tree beard (?)
123 | https://tabo.pe/projects/django-treebeard/docs/tip/
124 | Django_mptt_admin (?)
125 | installed
126 | Django_markdown (?)
127 | installed, tested, some minor bugs,
128 | documentation is really poor
129 | allow to have editor for markdown fields
130 | other features? not clear. flatpages?
131 |
132 |
133 |
134 |
135 |
136 | Django - EnumField (?)
137 | installed, not tested
138 | https://github.com/5monkeys/django-enumfield
139 |
140 |
141 | Django rbac
142 | http://www.nomadblue.com/blog/django/django-rbac/
143 |
144 | Add Custom View Method For Django-Admin Model
145 |
146 | http://stackoverflow.com/questions/3681258/nested-inlines-in-the-django-admin
147 |
148 | How do I add a link from the Django admin page of one object to the admin page of a related object?
149 | https://lincolnloop.com/static/slides/2010-djangocon/customizing-the-admin.html#slide1
150 | https://pypi.python.org/pypi/django-polymorphic-tree
151 | https://djangosnippets.org/snippets/2793/
152 |
153 |
154 |
155 |
156 |
157 |
158 | Admin: Saving user
159 | https://docs.djangoproject.com/en/1.6/ref/contrib/admin/#modeladmin-methods
160 | ModelAdmin.save_model
161 | Admin: Show only objects of a given user
162 | https://docs.djangoproject.com/en/1.6/ref/contrib/admin/#django.contrib.admin.ModelAdmin.get_queryset
163 |
164 |
165 | Edit button
166 | http://stackoverflow.com/questions/6680631/django-admin-separate-read-only-view-and-change-view
167 | Multiple admin view. A UTILISER
168 | http://stackoverflow.com/questions/2223375/multiple-modeladmins-views-for-same-model-in-django-admin?lq=1
169 |
170 | Customizing admin pages
171 | http://davidmburke.com/2010/05/24/django-hack-adding-extra-data-to-admin-interface/
172 | http://stackoverflow.com/questions/3728617/adding-model-wide-help-text-to-a-django-models-admin-form
173 | http://code.djangoproject.com/wiki/NewformsHOWTO#Q:HowcanIpassextracontextvariablesintomyaddandchangeviews
174 |
175 |
176 |
177 | Views
178 | https://docs.djangoproject.com/en/dev/topics/class-based-views/generic-display/
179 | https://github.com/frankwiles/django-admin-views
180 | https://github.com/jsocol/django-adminplus
181 | https://docs.djangoproject.com/en/dev/topics/class-based-views/
182 |
183 | Dynamic models
184 | http://stackoverflow.com/questions/7933596/django-dynamic-model-fields/7934577#7934577
185 |
186 | Meta API _meta, Introspection
187 | http://timheap.me/b/using-extra-meta-options-django/
188 |
189 | Django Debug Toolbar (1.8)
190 |
191 | Django
192 |
193 | Django Reversion
194 |
195 | AUTH_USER_MODEL = 'myapp.MyUser' https://docs.djangoproject.com/en/1.6/topics/auth/customizing/
196 | http://stackoverflow.com/questions/1336382/how-can-i-modify-django-to-create-view-permission
197 | http://stackoverflow.com/questions/8265328/readonly-models-in-django-admin-interface
198 | Django model mixin to force Django to validate (i.e. call `full_clean`) before `save`
199 | https://gist.github.com/glarrain/5448253
200 |
201 |
202 |
203 |
204 | Django UML
205 | http://stackoverflow.com/questions/6776592/django-model-graphic-representation-erd
206 |
207 | uml-to-django: https://code.google.com/p/uml-to-django/
208 | django-to-uml @ django-extensions (graph_models)
209 | http://django-extensions.readthedocs.org/en/latest/graph_models.html
210 | http://jaredforsyth.com/blog/2010/apr/29/django-uml/
211 | dia2django @ django-extensions (create_app)
212 | http://django-extensions.readthedocs.org/en/latest/create_app.html
213 |
214 |
--------------------------------------------------------------------------------
/docs/firefox/.gitignore:
--------------------------------------------------------------------------------
1 | install/*
2 |
--------------------------------------------------------------------------------
/docs/ganttproject/docs/HouseBuildingSample.gan:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
--------------------------------------------------------------------------------
/docs/ganttproject/docs/apprendre-gantt-project-version-26-vers-17janv2014.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/ganttproject/docs/apprendre-gantt-project-version-26-vers-17janv2014.pdf
--------------------------------------------------------------------------------
/docs/ganttproject/docs/ganttproject-handbook52.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/ganttproject/docs/ganttproject-handbook52.pdf
--------------------------------------------------------------------------------
/docs/ganttproject/index.rst:
--------------------------------------------------------------------------------
1 | .. _`GanttProject chapter`:
2 |
3 | GanttProject
4 | ============
5 |
6 | `GanttProject`_ is a free `project management`_ tool allowing to *edit*
7 | `gantt models`_ but also *view* `pert models`_ and `resource allocation models`_.
8 | As this tools is written in java it runs on all platforms.
9 |
10 | Features
11 | --------
12 |
13 | `GanttProject`_ allows to create *milestones* and hierarchies of *tasks*
14 | related with *dependency constraints*. Different *fields* can be attached to
15 | *milestones* and *tasks*. This includes for instance "priority", "cost", "start date",
16 | "duration", etc. *Custom fields* can also be added.
17 |
18 | .. figure:: media/gantt.png
19 | :align: center
20 |
21 | *gantt diagram* editor - the `house building example`_
22 |
23 | `GanttProject`_ is mostly an editor for `gantt models`_ (see above). It also contains
24 | a viewer for `pert models`_ (see below). These read-only views are generated automatically.
25 |
26 | .. figure:: media/pert.jpg
27 | :align: center
28 |
29 | *pert diagram* viewer - the `house building example`_
30 |
31 | `GanttProject`_ also supports `resource allocation models`_. *Resources* can be
32 | attached to *tasks*.The tool generates a resource allocation model
33 | showing the allocation of each resource along the project (see below).
34 |
35 | .. figure:: media/resource.png
36 | :align: center
37 |
38 | *resource allocation* viewer - `house building example`_
39 |
40 | Interoperability
41 | ----------------
42 |
43 | Microsoft Project and CSV files can be imported and exported from the
44 | Graphical User Interface (GUI). `GanttProject`_
45 | can also generate PDF, PNG, JPEG.
46 |
47 | The tool use an .xml format reasonably simple so interoperability with
48 | other tools is also possible with some development.
49 |
50 | The tool also has (a quite limited) Command Line Interface (CLI)
51 | allowing to export models in different formats.
52 |
53 | Installation
54 | ------------
55 |
56 | * Download the archive |GanttProjectZip|
57 | * Copy the archive into ``%SCRIBESTOOLS%`` and extract it here.
58 | * Rename the directory to obtain ``%SCRIBESTOOLS%\GanttProject``.
59 | * Copy the ``gandttproject.cmd`` into the directory.
60 | * Add ``%SCRIBESTOOLS%\GanttProject`` to the ``PATH`` variable
61 |
62 | Launching GanttProject
63 | ----------------------
64 |
65 | `GanttProject`_ is mostly used trough its Graphical User Interface (GUI), but
66 | it also has a Command Line Interface (CLI) allowing some limited kind of
67 | automation. In a (new) shell you can type the following command to see the
68 | help about the CLI::
69 |
70 | ganttproject.bat -h
71 |
72 | The normal way to use the program is the GUI tough. You can launch it just
73 | clicking on the executable or the shortcut that the installer might have
74 | created.
75 |
76 | When launched, one way to see what `GanttProject`_ is all about is to load
77 | `house building example`_. In order to do that use the menu
78 | `` Projects >> Open `` and select the ``HouseBuildingSample.gan`` file in the
79 | installation directory of the tools.
80 |
81 | Documentation
82 | -------------
83 |
84 | As far as we know there is no document describing `GanttProject`_.
85 | The tool is nevertheless rather easy to use for someone acquainted
86 | with `project management`_ basics. There is a extended demonstration
87 | in the form of a 15' video |ganttDemo|. The `house building example`_
88 | is also a valuable resource for learning how to use `GanttProject`_.
89 |
90 | You may also want to have a look at the following *unofficial* documents
91 | created by people outside of the project:
92 |
93 | * "Apprendre Gantt project Ver 2.6" |ganttApprendre| by Lycée du Dauphiné
94 | DD & JPG. This tutorial, in french, is rather good.
95 |
96 | * "GandttProject Handbook 0.52" |ganttHandbook52| by alexandre thomas.
97 | This handbook is rather obsolete and do not contains too much
98 | information.
99 |
100 | Example
101 | -------
102 |
103 | .. _`house building example`:
104 |
105 | `GanttProject`_ is delivered with an example of "house building" project.
106 | This project is store in the ``HouseBuildingSample.gan``
107 | |ganttHouseBuilding| file in the root of the installation directory.
108 |
109 |
110 | Graphical User Interface
111 | ------------------------
112 |
113 | This section describes the main panels of the GanttProject_ software.
114 |
115 | Project
116 | """""""
117 |
118 | .. figure:: media/Project_NameAndDescription.png
119 | :align: center
120 |
121 | Project_NameAndDescription
122 |
123 | .. figure:: media/Project_Calendar.png
124 | :align: center
125 |
126 | Project_Calendar
127 |
128 | .. figure:: media/Project_ResourceRoles.png
129 | :align: center
130 |
131 | Project_ResourceRoles
132 |
133 | Tasks
134 | """""
135 |
136 | .. figure:: media/Tasks_Hierarchy.png
137 | :align: center
138 |
139 | Tasks_Hierarchy
140 |
141 | .. figure:: media/Tasks_General.png
142 | :align: center
143 |
144 | Tasks_General
145 |
146 | .. figure:: media/Tasks_Predecessors.png
147 | :align: center
148 |
149 | Tasks_Predecessors
150 |
151 | .. figure:: media/Tasks_Resources.png
152 | :align: center
153 |
154 | Tasks_Resources
155 |
156 | .. figure:: media/Tasks_CustomColumns.png
157 | :align: center
158 |
159 | Tasks_CustomColumns
160 |
161 | .. figure:: media/Tasks_CustomFieldsManager.png
162 | :align: center
163 |
164 | Tasks_CustomFieldsManager
165 |
166 | .. figure:: media/Tasks_GanttGraph.png
167 | :align: center
168 |
169 | Tasks_GanttGraph
170 |
171 | .. figure:: media/Tasks_PertGraph.png
172 | :align: center
173 |
174 | Tasks_PertGraph
175 |
176 | Resources
177 | """""""""
178 |
179 | .. figure:: media/Resources_General.png
180 | :align: center
181 |
182 | Resources_General
183 |
184 | .. figure:: media/Resources_DaysOff.png
185 | :align: center
186 |
187 | Resources_DaysOff
188 |
189 | .. figure:: media/Resources_CustomColumns.png
190 | :align: center
191 |
192 | Resources_CustomColumns
193 |
194 | .. figure:: media/Resources_CustomFieldsManager.png
195 | :align: center
196 |
197 | Resources_CustomFieldsManager
198 |
199 | .. figure:: media/Resources_TaskList.png
200 | :align: center
201 |
202 | Resources_TaskList
203 |
204 | .. figure:: media/Resources_TaskAllocation.png
205 | :align: center
206 |
207 | Resources_TaskAllocation
208 |
209 |
210 | Tools Interface
211 | ---------------
212 |
213 | Gantt projects are saved in ``.gan`` files which are indeed ``xml`` files.
214 | This format can serve as an interoperability mean with other tools and constitutes
215 | therefore a potential interface for tools.
216 |
217 |
218 | The ``HouseBuildingSample.gan`` file |ganttHouseBuilding| corresponds to the House Building example.
219 | Developing a set of much simpler examples would be useful to serve as test cases and/or
220 | specification.
221 |
222 | .. literalinclude:: docs/HouseBuildingSample.gan
223 | :language: xml
224 | :linenos:
225 |
226 |
227 |
228 | .. .........................................................................
229 |
230 | .. |ganttHouseBuilding| replace::
231 | (:download:`local`)
232 |
233 | .. |ganttApprendre| replace::
234 | (:download:`local`,
235 | `web `__)
236 |
237 | .. |ganttHandbook52| replace::
238 | (:download:`local`,
239 | `web `__)
240 |
241 | .. |ganttDemo| replace::
242 | (`youtube `__)
243 |
244 | .. _`download page`:
245 | http://www.ganttproject.biz/download.php
246 |
247 | .. |GanttProjectZip| replace::
248 | `web `__
249 |
250 | .. _`installing from zip`: https://code.google.com/p/ganttproject/wiki/InstallingFromZIPArchive
251 |
252 |
253 | .. _`GanttProject` : http://www.ganttproject.biz/
254 | .. _`project management`: http://en.wikipedia.org/wiki/Project_management
255 | .. _`gantt models`: http://en.wikipedia.org/wiki/Gantt_chart
256 | .. _`pert models`: http://en.wikipedia.org/wiki/Program_evaluation_and_review_technique
257 | .. _`resource allocation models`: http://en.wikipedia.org/wiki/Resource_allocation
258 |
--------------------------------------------------------------------------------
/docs/ganttproject/media/Project_Calendar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/ganttproject/media/Project_Calendar.png
--------------------------------------------------------------------------------
/docs/ganttproject/media/Project_NameAndDescription.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/ganttproject/media/Project_NameAndDescription.png
--------------------------------------------------------------------------------
/docs/ganttproject/media/Project_ResourceRoles.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/ganttproject/media/Project_ResourceRoles.png
--------------------------------------------------------------------------------
/docs/ganttproject/media/Resources_CustomColumns.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/ganttproject/media/Resources_CustomColumns.png
--------------------------------------------------------------------------------
/docs/ganttproject/media/Resources_CustomFieldsManager.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/ganttproject/media/Resources_CustomFieldsManager.png
--------------------------------------------------------------------------------
/docs/ganttproject/media/Resources_DaysOff.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/ganttproject/media/Resources_DaysOff.png
--------------------------------------------------------------------------------
/docs/ganttproject/media/Resources_General.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/ganttproject/media/Resources_General.png
--------------------------------------------------------------------------------
/docs/ganttproject/media/Resources_TaskAllocation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/ganttproject/media/Resources_TaskAllocation.png
--------------------------------------------------------------------------------
/docs/ganttproject/media/Resources_TaskList.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/ganttproject/media/Resources_TaskList.png
--------------------------------------------------------------------------------
/docs/ganttproject/media/Tasks_CustomColumns.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/ganttproject/media/Tasks_CustomColumns.png
--------------------------------------------------------------------------------
/docs/ganttproject/media/Tasks_CustomFieldsManager.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/ganttproject/media/Tasks_CustomFieldsManager.png
--------------------------------------------------------------------------------
/docs/ganttproject/media/Tasks_GanttGraph.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/ganttproject/media/Tasks_GanttGraph.png
--------------------------------------------------------------------------------
/docs/ganttproject/media/Tasks_General.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/ganttproject/media/Tasks_General.png
--------------------------------------------------------------------------------
/docs/ganttproject/media/Tasks_Hierarchy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/ganttproject/media/Tasks_Hierarchy.png
--------------------------------------------------------------------------------
/docs/ganttproject/media/Tasks_PertGraph.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/ganttproject/media/Tasks_PertGraph.png
--------------------------------------------------------------------------------
/docs/ganttproject/media/Tasks_Predecessors.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/ganttproject/media/Tasks_Predecessors.png
--------------------------------------------------------------------------------
/docs/ganttproject/media/Tasks_Resources.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/ganttproject/media/Tasks_Resources.png
--------------------------------------------------------------------------------
/docs/ganttproject/media/gantt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/ganttproject/media/gantt.png
--------------------------------------------------------------------------------
/docs/ganttproject/media/pert.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/ganttproject/media/pert.jpg
--------------------------------------------------------------------------------
/docs/ganttproject/media/resource.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/ganttproject/media/resource.png
--------------------------------------------------------------------------------
/docs/github/docs/GestionDeProduits-GitWorkflows-6.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/github/docs/GestionDeProduits-GitWorkflows-6.pdf
--------------------------------------------------------------------------------
/docs/github/docs/dist-GitCheatSheet-21.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/github/docs/dist-GitCheatSheet-21.pdf
--------------------------------------------------------------------------------
/docs/github/index.rst:
--------------------------------------------------------------------------------
1 | .. _`GitHub chapter`:
2 |
3 | Git(Hub)
4 | ========
5 |
6 | Git_ is one of the most trendy Distributed Versioning Control System (DVCS)
7 | especially in the context of open source projects. GitHub_, BitBucket_ and
8 | GitLab_ are very popular hosting services on the cloud.
9 |
10 | .. figure:: media/github-splash.jpg
11 | :align: Center
12 |
13 | GitHub splash screen
14 |
15 | Overview
16 | --------
17 |
18 | It is important to clearly distinguish right from the beginning Git_ and
19 | GitHub_/GitLab_.
20 | Git_ is a general tool for versioning like SVN_. GitHub_, GitLab_ and
21 | BitBucket_ are hosting services. They also provide tools (e.g. the GitHub
22 | client) that can be installed locally on your machine.
23 |
24 | Git
25 | ^^^
26 |
27 | Git_ is a toolkit that can be used in a totally standalone mode, that is
28 | locally on any kind of machine (e.g. a laptop running windows/linux/mac).
29 | This is essentially a set of commands that you can run in a shell.
30 |
31 | .. figure:: media/gitshell.jpg
32 | :align: Center
33 |
34 | A shell with a typical git command ``git status``
35 |
36 | Git_ can be used both locally by a single developer but also locally and on
37 | the web in a collaborative mode.
38 |
39 | * git for local usage.
40 | One interesting aspect of Git_ is that it is file-based repository:
41 | installing it do not necessitate to install any kind of server, database;
42 | no daemon process is required, etc.
43 | Using git locally is therefore cheap and easy. It will just
44 | create a ``.git`` directory in your project directory and that's all. Full stop.
45 | Git_ can be useful really useful when working alone. This provides you
46 | some revision control for instance.
47 |
48 | * git for collaborative usage.
49 | Obviously if the goal is to collaborate with others one need a
50 | *git server*. In this case the local copy of Git_ installed on your machine
51 | will serve as a *client*. You can setup a git server (if you are in a
52 | company) or reuse existing services from the cloud.
53 |
54 | The next section is about git on the cloud.
55 |
56 | GitHub/GitLab/BitBucket
57 | ^^^^^^^^^^^^^^^^^^^^^^^
58 |
59 | If you need to collaborate with others to develop an open source project,
60 | GitHub_, GitLab_ or BitBucket_ are obvious solutions to consider, at least
61 | if you plan to use Git_. They both provide hosting public git repositories
62 | for free. GitHuh/GitLab/BitBucket have web-based interfaces to explore
63 | repositories.
64 |
65 | .. figure:: media/github-project.jpg
66 | :align: Center
67 |
68 | A git repository as shown on github
69 |
70 | .. figure:: media/bitbucket-project.jpg
71 | :align: Center
72 |
73 | A git repository as shown on BitBucket
74 |
75 | We highly recommend to use GitHub, unless if you need private repository.
76 | If you want you can have a look at the article `bitbucket vs. github`_ or
77 | to have a look at a more general `comparison of hosting services`_.
78 |
79 | Here we will use GitHub since this is the most popular service.
80 | Git also provides an excellent *git client* which is amazingly easy to use.
81 |
82 | If you need to have a private repository, and want to have that for free,
83 | then you have to use BitBucket for that repository. By contrast to Github
84 | (which offer only public repository), BitBucket provide unlimited private
85 | repositories (will a limit of 5 collaborators including you). The good news
86 | is that tools work with any provider so the solution is most probably:
87 | all public repositories on GitHub, all private repositories on BitBucket.
88 |
89 | Installation
90 | ------------
91 | In this section you will learn how to:
92 |
93 | #. create a github account.
94 | #. install the github client for your machine.
95 | #. install a true 'git' toolkit (only if you need it).
96 |
97 | Creating a GitHub account
98 | ^^^^^^^^^^^^^^^^^^^^^^^^^
99 | Extremely simple. Just go to https://github.com/join and fill the various
100 | fields. In step 2 select a free plan. Basically this is it.
101 |
102 | .. figure:: media/github-join.jpg
103 | :align: Center
104 |
105 | Joining GitHub - step 1
106 |
107 | Installing the GitHub client
108 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
109 | At the time of writing this documentation, nice github clients exist only for
110 | Windows and for Mac. **This step is anyway not obligatory**. It installs
111 | a nice graphical user interface for using git. This interface is really
112 | cool, but if you really want to use only shell commands and have already
113 | a git toolkit installed then you can skip this. If you are on linux you can
114 | go to the next section.
115 |
116 | Installation is really simple:
117 |
118 | * for Windows just visit https://windows.github.com/ (windows installer
119 | |GithubClientWindows|).
120 |
121 | .. image:: media/github4windows.jpg
122 |
123 | * for Mac just visit https://mac.github.com/ .
124 |
125 | .. image:: media/github4mac.jpg
126 |
127 | Installing the BitBucket client
128 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
129 | The github client is really easy to use. However if you want to learn more
130 | about git and want to do some advanced things without the shell, the github
131 | client is not the best choice. In fact, it hides some commands behind some
132 | cool features like 'Sync'. You might prefer another client, for instance the
133 | one proposed on BitBucket. This git client is called SourceTree.
134 |
135 | .. figure:: media/BitBucketSourceTree.jpg
136 | :align: Center
137 |
138 | SourceTree at work
139 |
140 | Your can download it from the `SourceTree home page`_. It works on windows
141 | and mac.
142 |
143 | Using the git shell
144 | ^^^^^^^^^^^^^^^^^^^
145 | The github client installed in the previous sessions include not only a
146 | graphical interface, but also give you access to a git shell where you
147 | can type all commands.
148 |
149 | .. figure:: media/github2shell.jpg
150 | :align: Center
151 |
152 | Launching a git shell from the Windows GitHub client
153 |
154 | While the GUI is very nice and enough for most situations, sometimes you
155 | will need to type git commands that are not available in the GUI. In this
156 | case using the git shell is the solution.
157 |
158 | .. _`Installing the git toolkit section`:
159 |
160 | Installing the git toolkit
161 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
162 | In some situations you will however have to install a git toolkit.
163 |
164 | .. figure:: media/gitDownload.jpg
165 | :align: Center
166 |
167 | Git web site.
168 |
169 | You have to install git:
170 |
171 | * if you have not installed the GitHub client at all (either because you do
172 | not want or because it is not available on your platform).
173 | * if you want to run some scripts with git commands but you cannot always
174 | run them from the GitHub shell (e.g. launching them from a cron tab).
175 | * if you use some programs relying on the availability of git commands (those
176 | program will complain that git commands and not available).
177 |
178 | In these case you will have to install git (possibly in addition to github
179 | client). In order to do so, just `download git`_ and install
180 | it following the instructions for your platform (e.g. for windows
181 | |GitWindows|).
182 |
183 | On Ubuntu you can install git as following (if it is not already installed)::
184 |
185 | sudo add-apt-repository ppa:git-core/ppa -y # if you want the last version
186 | sudo apt-get update # if you want the last version
187 | sudo apt-get install git
188 | git --version
189 |
190 |
191 | Configuration
192 | -------------
193 |
194 | If you use the command line, you should configure git. The option ``--global``
195 | save the configuration in your ``.gitconfig`` home file. Otherwise you could
196 | configure this for individual project.
197 |
198 | Configure who you are (changing ``escribis`` by your github account)::
199 |
200 | git config --global user.name "escribis"
201 | git config --global user.email "escribis@users.noreply.github.com"
202 |
203 | To avoid typing always your password (see `Caching you Github password`_)::
204 |
205 | git config --global credential.helper cache
206 | git config --global credential.helper 'cache --timeout=3600'
207 |
208 | You may also configure (`Dealing with line endings`_)::
209 |
210 | git config --global core.autocrlf input # if you use unix
211 |
212 | Resources
213 | ---------
214 |
215 | Cheat sheets
216 | ^^^^^^^^^^^^
217 |
218 | * :download:`Git Cheat Sheet `:
219 | describes git at all levels of abstraction: trees, commits, branches,
220 | repositories, workflows.
221 |
222 | .. figure:: media/data_centric_cheatsheet.png
223 | :align: Center
224 |
225 | * `Commands GitHub Cheat Sheet`_: a cheat sheet listing classical
226 | git commands.
227 |
228 | .. figure:: media/github_cheat_sheet.png
229 | :align: Center
230 |
231 | Visual resources
232 | ^^^^^^^^^^^^^^^^
233 |
234 | * `Illustrated git`_: some nice illustrations. Not too much but the
235 | only guide starting right the blob level to the repository level.
236 |
237 | .. figure:: media/bloblevel.png
238 | :align: Center
239 |
240 | * `Git Visual Guide`_: a very nice guide displaying the commit graph
241 | resulting from the effect of a commands. Detailed and technical
242 | but a must read. The best in this kind of resources.
243 |
244 | .. figure:: media/git_visual_guide.png
245 | :align: Center
246 |
247 | Interactive resources
248 | ^^^^^^^^^^^^^^^^^^^^^
249 |
250 | * `Git Interactive Cheatsheet`_: a interactive map showing 5 layers (
251 | stash / workspace / index / local repo/remote repo) and commands
252 | acting at each level.
253 |
254 | .. figure:: media/git_interactive_cheatsheet.png
255 | :align: Center
256 |
257 | * `Interactive git console`_: a nice interactive tutorial-like resource
258 | in the form a console that display commit graphs after each command
259 | is issued. Nice, but it misses some kind of guidance.
260 |
261 | .. figure:: media/interactive_git_console.png
262 | :align: Center
263 |
264 |
265 | Tutorials
266 | ^^^^^^^^^
267 |
268 | * `Atlassian git tutorial`_: most probably the best git tutorial
269 | out there. A bit wordy, but it presents both concept and technical
270 | details with (almost) each commands involved. A quite nice comparison
271 | of workflows.
272 |
273 | .. figure:: media/atlassian_tutorial.png
274 | :align: Center
275 |
276 |
277 |
278 | Workflows
279 | ---------
280 |
281 |
282 | Resources
283 | ^^^^^^^^^
284 |
285 | * `Comparing workflows`_, from the `Atlassian git tutorial`_ is one of the
286 | best resource for understanding (some) workflows. It is a bit wordy, but
287 | still worths reading. Some part at the command level (not always detailed
288 | though).
289 |
290 | .. figure:: media/atlassian_comparing_workflow.png
291 | :align: Center
292 |
293 | * :download:`Visualizing git workflows `
294 | a set of slides comparing workflows.
295 |
296 | .. figure:: media/slides_git_workflow.png
297 | :align: Center
298 |
299 | * :download:`Workflow Cheat Sheet `:
300 | one page dedicated to the comparison of workflows.
301 |
302 | .. figure:: media/data_centric_cheatsheet.png
303 | :align: Center
304 |
305 |
306 |
307 | Private workflow
308 | ^^^^^^^^^^^^^^^^
309 | * one local repo
310 | * used for versioning a directory
311 |
312 | Example::
313 |
314 | cd MyDir
315 | git init
316 |
317 | git add
318 | git commit -m ""
319 |
320 | git add
321 | git commit -m ""
322 | ...
323 |
324 |
325 | Public workflow
326 | ^^^^^^^^^^^^^^^
327 |
328 | * one local repo
329 | * one remote repo
330 | * used to share a project, to make the code public
331 |
332 | Example::
333 |
334 |
335 | git clone
336 | cd
337 |
338 |
339 | git add
340 | git commit -m ""
341 |
342 | git add
343 | git commit -m ""
344 | git push origin master
345 | ...
346 | git push origin master
347 |
348 |
349 |
350 | Shared-master workflow
351 | ^^^^^^^^^^^^^^^^^^^^^^
352 |
353 | Example::
354 |
355 |
356 | git clone
357 | cd
358 |
359 |
360 | git add
361 | git commit -m ""
362 | ...
363 | git pull origin master # to synch with remote master
364 | git push origin master # to push all commit
365 | ...
366 |
367 | ...
368 |
369 | Feature branches workflow
370 | ^^^^^^^^^^^^^^^^^^^^^^^^^
371 |
372 | Creation of a new branch (f_color) from the master branch::
373 |
374 | # Create a new feature branch from master
375 | git checkout master # enter the master branch
376 | git pull origin master # get last master version
377 | git branch f_color # create a new branch f_color
378 | git checkout f_color # enter the new branch f_color
379 |
380 | Regular modifications on f_color::
381 |
382 | ...
383 | # regular modifications on f_color
384 | git add
385 | git commit -m ""
386 |
387 | Synch with remote repo from time to time::
388 |
389 | ...
390 | git push origin f_color # f_color becomes a remote branch
391 | ...
392 | git pull origin master # synchonize optionaly with master
393 | git push origin f_color # push f_color again
394 | ...
395 |
396 | At some point the branch f_color is good enough: create a pull request::
397 |
398 | # button on github
399 | # discuss with others on github
400 | ...
401 | git commit -m "" # some improvement are required
402 | ...
403 | git pull origin master # synch optionaly with master
404 | git push origin f_color # push again to remote repo
405 | # discuss again with others
406 |
407 | At some point the branch f_color is ready. Integration will take place
408 | on github with the graphical interface.
409 |
410 | After the integration it is best to remove the remote branch with the
411 | "remote branch" button. Then the branch can be removed locally::
412 |
413 | git branch master
414 | git pull origin master
415 | git branch -d feature
416 |
417 |
418 | Git flow
419 | ^^^^^^^^
420 |
421 | Integration workflow
422 | ^^^^^^^^^^^^^^^^^^^^
423 |
424 | Benevolent dictator workflow
425 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
426 |
427 |
428 | .. ............................................................................
429 |
430 | .. _Git: http://en.wikipedia.org/wiki/Git_%28software%29
431 |
432 | .. _GitHub: http://en.wikipedia.org/wiki/GitHub
433 |
434 | .. _GitLab: https://about.gitlab.com/
435 |
436 | .. _BitBucket: http://en.wikipedia.org/wiki/BitBucket
437 |
438 | .. _`comparison of hosting services` : http://en.wikipedia.org/wiki/Comparison_of_source_code_software_hosting_facilities
439 |
440 | .. _`bitbucket vs. github`: http://www.infoworld.com/article/2611771/application-development/bitbucket-vs--github--which-project-host-has-the-most-.html
441 |
442 | .. _`download git`: http://git-scm.com/downloads
443 |
444 | .. _SVN: http://en.wikipedia.org/wiki/Apache_Subversion
445 |
446 | .. _`SourceTree home page`: https://www.atlassian.com/software/sourcetree
447 |
448 | .. _`Caching you Github password`:
449 | https://help.github.com/articles/caching-your-github-password-in-git/
450 |
451 | .. _`Dealing with line endings`:
452 | https://help.github.com/articles/dealing-with-line-endings/
453 |
454 | .. _`Commands GitHub Cheat Sheet`:
455 | https://services.github.com/on-demand/downloads/github-git-cheat-sheet.pdf
456 |
457 | .. _`Git Visual Guide`:
458 | http://marklodato.github.io/visual-git-guide
459 |
460 | .. _`Git Interactive Cheatsheet`:
461 | http://ndpsoftware.com/git-cheatsheet.html#loc=index
462 |
463 | .. _`Interactive git console`:
464 | https://onlywei.github.io/explain-git-with-d3/#fetchrebase
465 |
466 | .. _`Illustrated git`:
467 | https://illustrated-git.readthedocs.io/en/latest/#
468 |
469 | .. _`Atlassian git tutorial`:
470 | https://www.atlassian.com/git/tutorials/setting-up-a-repository
471 |
472 | .. _`Comparing workflows`:
473 | https://www.atlassian.com/git/tutorials/comparing-workflows
474 |
475 | .. |GithubClientWindows| replace::
476 | `web `__
477 |
478 | .. |GitWindows| replace::
479 | `web `__
480 |
--------------------------------------------------------------------------------
/docs/github/media/BitBucketSourceTree.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/github/media/BitBucketSourceTree.jpg
--------------------------------------------------------------------------------
/docs/github/media/atlassian_comparing_workflow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/github/media/atlassian_comparing_workflow.png
--------------------------------------------------------------------------------
/docs/github/media/atlassian_tutorial.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/github/media/atlassian_tutorial.png
--------------------------------------------------------------------------------
/docs/github/media/bitbucket-project.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/github/media/bitbucket-project.jpg
--------------------------------------------------------------------------------
/docs/github/media/bloblevel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/github/media/bloblevel.png
--------------------------------------------------------------------------------
/docs/github/media/data_centric_cheatsheet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/github/media/data_centric_cheatsheet.png
--------------------------------------------------------------------------------
/docs/github/media/gitDownload.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/github/media/gitDownload.jpg
--------------------------------------------------------------------------------
/docs/github/media/git_interactive_cheatsheet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/github/media/git_interactive_cheatsheet.png
--------------------------------------------------------------------------------
/docs/github/media/git_visual_guide.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/github/media/git_visual_guide.png
--------------------------------------------------------------------------------
/docs/github/media/git_workflow_cheatsheet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/github/media/git_workflow_cheatsheet.png
--------------------------------------------------------------------------------
/docs/github/media/github-join.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/github/media/github-join.jpg
--------------------------------------------------------------------------------
/docs/github/media/github-project.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/github/media/github-project.jpg
--------------------------------------------------------------------------------
/docs/github/media/github-splash.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/github/media/github-splash.jpg
--------------------------------------------------------------------------------
/docs/github/media/github2shell.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/github/media/github2shell.jpg
--------------------------------------------------------------------------------
/docs/github/media/github4mac.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/github/media/github4mac.jpg
--------------------------------------------------------------------------------
/docs/github/media/github4windows.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/github/media/github4windows.jpg
--------------------------------------------------------------------------------
/docs/github/media/github_cheat_sheet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/github/media/github_cheat_sheet.png
--------------------------------------------------------------------------------
/docs/github/media/gitshell.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/github/media/gitshell.jpg
--------------------------------------------------------------------------------
/docs/github/media/interactive_git_console.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/github/media/interactive_git_console.png
--------------------------------------------------------------------------------
/docs/github/media/slides_git_workflow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/github/media/slides_git_workflow.png
--------------------------------------------------------------------------------
/docs/github/notes.txt:
--------------------------------------------------------------------------------
1 | GitHub Flow
2 | -----------
3 |
4 | https://github.com/blog/1557-github-flow-in-the-browser
5 |
--------------------------------------------------------------------------------
/docs/googlesuite/index.rst.txt:
--------------------------------------------------------------------------------
1 | .. _`Google Suite chapter`:
2 |
3 | Google Suite
4 | ============
5 |
6 | Google provides a whole bunch of tools that can be used for collaborative
7 | work and in particular in the context of some Software Engineering activities.
8 |
9 | Google Drive
10 | ------------
11 |
12 | ubuntu
13 | ''''''
14 |
15 | There is no official google drive client for Linux, but you can still
16 | use an open source tool named ``grive`` or much better ``grive2``.
17 |
18 | To install ``grive2`` on Ubbunto 14.04::
19 |
20 | sudo add-apt-repository ppa:nilarimogard/webupd8
21 | sudo apt-get update
22 | sudo apt-get install grive
23 |
24 | Then create a directory (e.g. ``~/GOOGLE_DRIVE``) and initialize
25 | the connection with Google Drive::
26 |
27 | mkdir -p ~/GOOGLE_DRIVE
28 | cd ~/GOOGLE_DRIVE
29 | grive -a
30 |
31 | By contrast to other clients on other operating system, sychronization
32 | is not run in background and all the time. You have on the contrary to
33 | launch the scynchronization manually::
34 |
35 | grive
36 |
37 | Google Document
38 | ---------------
39 |
40 | Google Spreadsheet
41 | ------------------
--------------------------------------------------------------------------------
/docs/graphviz/docs/graphviz-cheat-sheet-a.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/graphviz/docs/graphviz-cheat-sheet-a.pdf
--------------------------------------------------------------------------------
/docs/graphviz/index.rst:
--------------------------------------------------------------------------------
1 | .. _`Graphviz chapter`:
2 |
3 | Graphviz
4 | ========
5 |
6 | Graphviz_ is a set of tool to deal visualize graphs. See the gallery_.
7 |
8 | .. image:: media/examples.jpg
9 |
10 | Installation
11 | ------------
12 |
13 | * download the installer for your operating system the `download page`_.
14 |
15 | On Windows ``graphviz-2.38.msi`` must be used, at least if you
16 | plan to use the pygraphviz_ windows library for python |GraphVizWin|.
17 |
18 | On Ubuntu Graphviz_ can be installed via::
19 |
20 | apt-get install graphviz libgraphviz-dev pkg-config
21 |
22 | * install the program in a directory like ``%SCRIBESTOOLS%\Graphviz\``
23 | * add ``%SCRIBESTOOLS%\Graphviz\`` into the PATH environment variable.
24 |
25 | Launching Graphviz
26 | ------------------
27 | To test your installation type the following command in a new shell. It should
28 | display the version of graphviz. ::
29 |
30 | dot -V
31 |
32 | You can try the ``gvedit``, a very simple graphical interface. It is not really
33 | useful though as Graphviz_ is mostly used by other programs. ::
34 |
35 | gvedit
36 |
37 | Documentation
38 | -------------
39 | There is a lot of documentation_.
40 |
41 | .. .............................................................................
42 |
43 | .. _Graphviz:
44 | http://graphviz.org
45 |
46 | .. _gallery:
47 | http://www.graphviz.org/Gallery.php
48 |
49 | .. _`download page`:
50 | http://www.graphviz.org/Download.php
51 |
52 | .. _documentation:
53 | http://www.graphviz.org/Documentation.php
54 |
55 | .. _pygraphviz:
56 | http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygraphviz
57 |
58 | .. |GraphVizWin| replace::
59 | `web `__
60 |
--------------------------------------------------------------------------------
/docs/graphviz/media/examples.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/graphviz/media/examples.jpg
--------------------------------------------------------------------------------
/docs/index.rst:
--------------------------------------------------------------------------------
1 | ScribesTools
2 | ============
3 |
4 | Welcome to ScribesTools documentation. You will find here some indications
5 | on how to install and use some useful software development tools. If you are
6 | interested in quality aspect you may also be interested in ScribesQuality_.
7 |
8 |
9 |
10 |
11 | Tools
12 | -----
13 |
14 | .. toctree::
15 | :maxdepth: 2
16 |
17 | ganttproject/index
18 | modelio/index
19 | useocl/index
20 | kmade/index
21 | pandoc/index
22 | schemaspy/index
23 | schemacrawler/index
24 | checkstyle/index
25 | pylint/index
26 | diigo/index
27 | assembla/index
28 | github/index
29 | scribesgit/index
30 | readthedocs/index
31 | selenium/index
32 | travisci/index
33 | java/index
34 | python/index
35 | pycharm/index
36 | django/index
37 | sqlite/index
38 | mysql/index
39 | graphviz/index
40 | sphinx/index
41 |
42 | .. balsamic/index
43 |
44 |
45 |
46 | Platforms
47 | ---------
48 |
49 | The pages below provide some hints about some platform customization:
50 |
51 | .. toctree::
52 | :maxdepth: 2
53 |
54 | windows/index
55 | ubuntu/index
56 |
57 | Misc
58 | ----
59 |
60 | .. toctree::
61 |
62 | lejeudupromoteur
63 |
64 |
65 |
66 | .. ............................................................................
67 |
68 | .. _ScribesQuality: http://ScribesQuality.readthedocs.org
69 |
--------------------------------------------------------------------------------
/docs/java/index.rst:
--------------------------------------------------------------------------------
1 | .. _`Java chapter`:
2 |
3 | Java
4 | ====
5 |
6 | Installation
7 | ------------
8 | One should distinguish two java components:
9 |
10 | * **JRE**: The Java Runtime Environment enables **end-users** to **execute**
11 | java programs.
12 | * **JDK**: The Java Development Toolkit allows **developers** to **develop**
13 | java programs.
14 |
15 | The JRE can be installed and used independently from the JDK.
16 | By contrast, the JDK comes usually with a JRE. Here are short instructions to
17 | install the JDK (including the JRE). More information is available on
18 | the `java installation guide`_:
19 |
20 | On Windows:
21 |
22 | * Download the jdk from the `java download page`_.
23 | * Create the following directory structure::
24 |
25 | %SCRIBESTOOLS%
26 | Java
27 | jre
28 | jdk
29 |
30 | * Install the JDK in ``%SCRIBESTOOLS%\Java\JDK`` and the JRE in
31 | ``%SCRIBESTOOLS%\Java\jdk``
32 |
33 |
34 | * Add the following directory to the system PATH::
35 |
36 | %SCRIBESTOOLS%\Java\jdk\bin
37 |
38 | * Set the ``JAVA_HOME`` environment variable to::
39 |
40 | %SCRIBESTOOLS%\Java\jdk
41 |
42 | On Ubuntu::
43 |
44 | # Remove existing OpenJDK
45 | sudo apt-get purge openjdk*
46 | # Install Oracle Java 8
47 | # if add-apt-repository is missing in the next command
48 | # sudo apt-get install software-properties-common
49 | # sudo apt-get install python-software-properties
50 | sudo add-apt-repository ppa:webupd8team/java
51 | sudo apt-get update
52 | sudo apt-get install oracle-java8-installer
53 | # Set Java Environment Variable
54 | sudo apt-get install oracle-java8-set-default
55 |
56 | If this does not work try instead to follow the instructions
57 | `how to install oracle java 9 in debian`_.
58 |
59 |
60 | Launching Java
61 | --------------
62 | To test the JRE type the following command::
63 |
64 | java -version
65 |
66 | To test the JDK type the::
67 |
68 | javac -version
69 |
70 | .. .............................................................................
71 |
72 | .. _`java download page`:
73 | http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
74 |
75 | .. _`java installation guide`:
76 |
77 | .. _`how to install oracle java 9 in debian`:
78 | http://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.html
79 |
--------------------------------------------------------------------------------
/docs/kmade/docs/KMADe-1.2-UserManual-FR.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/kmade/docs/KMADe-1.2-UserManual-FR.pdf
--------------------------------------------------------------------------------
/docs/kmade/docs/templateSortieSki.kxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Faire une randonnée à ski
7 | Racine
8 |
9 | ABS
10 | COGN
11 | false
12 | false
13 | SEQ
14 | true
15 | void
16 | [1]
17 |
18 | 318
19 | 82
20 |
21 |
22 | Se rendre à la station de ski
23 | 1
24 |
25 | ABS
26 | COGN
27 | false
28 | false
29 | LEAF
30 | true
31 | void
32 | [1]
33 |
34 | 23
35 | 229
36 |
37 |
38 |
39 | Grimper
40 | 2
41 |
42 | ABS
43 | COGN
44 | false
45 | false
46 | PAR
47 | true
48 | void
49 | [1]
50 |
51 | 428
52 | 229
53 |
54 |
55 | Avancer
56 | 2.1
57 |
58 | ABS
59 | COGN
60 | false
61 | false
62 | ALT
63 | true
64 | void
65 | [1]
66 |
67 | 105
68 | 382
69 |
70 |
71 | Suivre la trace
72 | 2.1.1
73 |
74 | USER
75 | COGN
76 | false
77 | false
78 | LEAF
79 | true
80 | void
81 | [1]
82 |
83 | 8
84 | 532
85 |
86 |
87 |
88 | Faire une trace
89 | 2.1.2
90 |
91 | USER
92 | COGN
93 | false
94 | false
95 | LEAF
96 | true
97 | void
98 | [1]
99 |
100 | 153
101 | 532
102 |
103 |
104 |
105 |
106 | Evaluer les conditions de randonnée
107 | 2.2
108 |
109 | ABS
110 | COGN
111 | false
112 | false
113 | LEAF
114 | true
115 | void
116 | [1]
117 |
118 | 250
119 | 382
120 |
121 |
122 |
123 | Modifier les objectifs
124 | 2.3
125 |
126 | ABS
127 | COGN
128 | false
129 | false
130 | LEAF
131 | (?NUM>4)
132 | void
133 | [1]
134 |
135 | 529
136 | 382
137 |
138 |
139 |
140 |
141 | Descendre
142 | 3
143 |
144 | ABS
145 | COGN
146 | false
147 | false
148 | LEAF
149 | true
150 | void
151 | [1]
152 |
153 | 632
154 | 229
155 |
156 |
157 |
158 |
159 |
--------------------------------------------------------------------------------
/docs/kmade/docs/testDTDScenario.ksxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | 6
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/docs/kmade/index.rst:
--------------------------------------------------------------------------------
1 | .. _`KMADe chapter`:
2 |
3 |
4 | KMADe
5 | =====
6 |
7 | `KMADe`_ (*Kernel of Model for Activity Description environment*) is an editor of *task models* along with a simulator. As this tools is written in java it runs on all platforms.
8 |
9 | Features
10 | --------
11 |
12 | `KMADe`_ is an editor of task models.
13 |
14 | .. figure:: media/task-model.jpg
15 |
16 | *task model* by `Sybille Caffiau `__
17 |
18 | Interoperability
19 | ----------------
20 |
21 | `KMADe`_ represents task models as kxml files.
22 |
23 | Installation
24 | ------------
25 |
26 | KMADe is easy to install:
27 |
28 | * Download the KMADe zip archive |kmadeZip|.
29 | * Move this file to the directory ``%SCRIBESTOOLS%```.
30 | * Unzip the file here.
31 | * Rename the created directory to ``KMADe``
32 | * Remove the zip file if you want.
33 |
34 | Launching KMADe
35 | ---------------
36 |
37 | Once installed, you can just have to double click on the ``kmade.jar`` file
38 | in the installation direction. `KMADe`_ should start as this is a java
39 | executable.
40 |
41 | Documentation
42 | -------------
43 |
44 | KMADe has an extensive documentation |kmadeDoc| but it is mostly in french.
45 |
46 |
47 |
48 | .. ...........................................................................
49 |
50 |
51 | .. |kmadeZip| replace::
52 | `web `__
53 |
54 | .. |kmadeDoc| replace::
55 | (:download:`local`,
56 | `web `__)
57 |
58 |
59 |
60 | .. _`KMADe`: http://www.lias-lab.fr/forge/projects/kmad
61 |
--------------------------------------------------------------------------------
/docs/kmade/media/task-model.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/kmade/media/task-model.jpg
--------------------------------------------------------------------------------
/docs/lejeudupromoteur.rst:
--------------------------------------------------------------------------------
1 | Le jeu du promoteur
2 | ===================
3 |
4 | Joue le jeu du promoteur sur http://lejeudupromoteur.lol
--------------------------------------------------------------------------------
/docs/modelio/media/ModelioCoExplorer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/modelio/media/ModelioCoExplorer.png
--------------------------------------------------------------------------------
/docs/modelio/media/ModelioJavadocAPIClass.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/modelio/media/ModelioJavadocAPIClass.png
--------------------------------------------------------------------------------
/docs/modelio/media/ModelioMetamodelDocumentationClass.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/modelio/media/ModelioMetamodelDocumentationClass.png
--------------------------------------------------------------------------------
/docs/modelio/media/ModelioSVNLogin.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/modelio/media/ModelioSVNLogin.jpg
--------------------------------------------------------------------------------
/docs/modelio/media/ModelioSVNWorkModels.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/modelio/media/ModelioSVNWorkModels.jpg
--------------------------------------------------------------------------------
/docs/modelio/media/ModelioScriptDebugMode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/modelio/media/ModelioScriptDebugMode.png
--------------------------------------------------------------------------------
/docs/modelio/media/ModelioScriptHelloWorld.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/modelio/media/ModelioScriptHelloWorld.png
--------------------------------------------------------------------------------
/docs/modelio/media/ModelioSvnConfigurationMenu.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/modelio/media/ModelioSvnConfigurationMenu.jpg
--------------------------------------------------------------------------------
/docs/modelio/media/ModelioSvnDocumentation.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/modelio/media/ModelioSvnDocumentation.jpg
--------------------------------------------------------------------------------
/docs/modelio/media/ModelioWelcome.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/modelio/media/ModelioWelcome.png
--------------------------------------------------------------------------------
/docs/modelio/media/ModelionSVNFragment.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/modelio/media/ModelionSVNFragment.jpg
--------------------------------------------------------------------------------
/docs/modelio/media/forums.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/modelio/media/forums.jpg
--------------------------------------------------------------------------------
/docs/modelio/media/help.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/modelio/media/help.jpg
--------------------------------------------------------------------------------
/docs/modelio/media/various-models.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/modelio/media/various-models.jpg
--------------------------------------------------------------------------------
/docs/mysql/index.rst:
--------------------------------------------------------------------------------
1 | .. _`MySQL chapter`:
2 |
3 | MySQL
4 | =====
5 |
6 | MySQL_ community is an open source RDBMS.
7 |
8 | .. _`MySQL Installation`:
9 |
10 | Installation
11 | ------------
12 |
13 | On Ubuntu you can install MySQL_ as following::
14 |
15 | sudo apt-get install mysql-server
16 |
17 | For more details you can have a look at this `short tutorial`_.
18 |
19 |
20 | Documentation
21 | -------------
22 | The documentation is available online (`MySQL documentation`_).
23 |
24 |
25 | .. .....................................................................
26 |
27 | .. _MySQL:
28 | https://www.mysql.com/products/community/
29 |
30 | .. _`short tutorial`:
31 | https://www.linode.com/docs/databases/mysql/how-to-install-mysql-on-ubuntu-14-04
32 |
33 | .. _`MySQL documentation`:
34 | https://dev.mysql.com/doc/refman/5.7/en/
35 |
--------------------------------------------------------------------------------
/docs/notepadpp/notes.txt:
--------------------------------------------------------------------------------
1 | Notepad++
2 | =========
3 |
4 | allowAppDataPlugins.xml
5 |
6 | Plugins
7 | -------
8 | CCompletion
9 | Compare
10 | Customize Toolbar
11 | Document Monitor
12 | Explorer
13 | JSON Viewer
14 | NotepadStarterPlugin
15 | NppExec
16 | PyNPP
17 | Python Indent
18 | Python Script
19 | RegEx Helper
20 | RegRexPlace
21 | Session Manager
22 | SQL
23 | XML Tools
24 | XPatherizerNPP
25 |
26 | NPPExec
27 | -------
28 | Filters: C:\Users\jmfavre\AppData\Roaming\Notepad++\plugins\config\NppExec.ini
29 |
30 | NPPScript
31 | ---------
32 | cf documentation in the help section
33 | Scripts: C:\Users\jmfavre\AppData\Roaming\Notepad++\plugins\config\PythonScript\scripts
34 |
35 |
36 | def doubleClickHandler(args):
37 | position = args['position']
38 | line = args['line']
39 | modifiers = args['modifiers']
40 | …
41 | editor.callback(doubleClickHandler, [SCINTILLANOTIFICATION.DOUBLECLICK])
42 |
43 | console.write
44 |
45 | editor
46 | findColumn(line,column): position
47 | lineLength(line):int
48 | lineDelete()
49 | newLine()
50 | getLine(line):str
51 | getLineCount():int
52 | (get|set)Text()
53 | getCharAt(position):int
54 | getTextLength()
55 | getLength()
56 | getLineEndPosition(line)
57 | countCharacters(startPos,endPos): int
58 |
59 | addText(text)
60 | insertText(pos,text)
61 |
62 | deleteRange(position,deleteLength)
63 |
64 | (get|set)CurrentPos(pos)
65 | getCurLine():str
66 | getCurrentPos():int
67 | gotoLine(line)
68 | gotoPos(pos)
69 |
70 | getColumn(position):column
71 | lineFromPosition(position):line
72 | positionFromLine(line):position
73 |
74 | selectAll
75 | setSel(position, position)
76 | (set|get)Selection(Start|End)
77 |
78 | getStyleAt
79 |
80 |
81 | styleSetVisible
82 |
83 |
--------------------------------------------------------------------------------
/docs/pandoc/index.rst:
--------------------------------------------------------------------------------
1 | .. _`Pandoc chapter`:
2 |
3 | Pandoc
4 | ======
5 |
6 | Pandoc_ is a converter that allows to transform documents across a very
7 | wide range of documentation formats including html, markdown,
8 | reStructuredText, textile, DocBook, LaTeX, MediaWiki, Word docx,
9 | EPUB, etc.
10 |
11 | Installation
12 | ------------
13 | See the `installation page`_ for detailed information. Install the application
14 | in a directory like ``%SCRIBESTOOLS%\Pandoc``.
15 |
16 | On Windows:
17 |
18 | * download ``pandoc-1.15-windows.msi`` |PandocWin|.
19 |
20 | * if you are on a personal PC just click on the executable.
21 | If the application should be installed on multiple users
22 | type instead::
23 |
24 | msiexec /i C:\DOWNLOADS\pandoc-1.15-windows.msi ALLUSERS=1 APPLICATIONFOLDER=%SCRIBESTOOLS%\Pandoc
25 |
26 | On Ubuntu::
27 |
28 | sudo apt-get install pandoc
29 |
30 | Launching Pandoc
31 | ----------------
32 |
33 | To test your installation type in a new shell::
34 |
35 | pandoc --version
36 |
37 |
38 | Documentation
39 | -------------
40 |
41 | There is a lot of documentation online. The `user guide`_ describes command
42 | lines options.
43 | .. ............................................................................
44 |
45 | .. _Pandoc:
46 | http://pandoc.org/
47 |
48 | .. _`installation page`:
49 | http://pandoc.org/installing.html
50 |
51 | .. |PandocWin| replace::
52 | `web `__
53 |
54 | .. _`user guide`:
55 | http://pandoc.org/README.html
56 |
--------------------------------------------------------------------------------
/docs/pycharm/index.rst:
--------------------------------------------------------------------------------
1 | .. _`PyCharm chapter`:
2 |
3 | PyCharm
4 | =======
5 |
6 | PyCharm_ is an excellent IDE for the Python language.
7 |
8 | .. figure:: media/PyCharmSplash.jpg
9 |
10 | Overview
11 | --------
12 |
13 | Python being a dynamic language, using an IDE is a really good idea. This will
14 | help you find errors at development time rather that at runtime. There are
15 | various IDE for pythons around (see `python IDE comparison`_).
16 |
17 | If you are going to write non trival python programs for some time, then
18 | we recommend using PyCharm_. It will save you time. PyCharm_ is usually faster,
19 | simpler and more powerful than PyDev_, the python environment on eclipse. If
20 | you are really a huge fan of eclipse, you might prefer PyDev_ indeed.
21 |
22 | Installation
23 | ------------
24 | There are two versions:
25 |
26 | * An open source version which is quite complete and very useful.
27 | * A commercial version which has support for django, databases, etc.
28 |
29 | .. Attention::
30 |
31 | If you are student you can very easily get `PyCharm for students`_.
32 | You just need to register with the email of your university.
33 | It's really easy and quite fast.
34 |
35 | * `download PyCharm`_ page and then download the appropriate version (e.g.
36 | Windows community edition |PyCharmOpenWin|, Windows commercial edition
37 | |PyCharmCommercialWin|).
38 |
39 | * install the version downloaded in a directory like
40 | ``%SCRIBESTOOLS%\PyCharmOpen`` or ``%SCRIBESTOOLS%\PyCharmCommercial``.
41 | This naming schema allows to have both editions installed at the same time.
42 |
43 | * by default your personal configuration of PyCharm goes in a directory
44 | like ``.PyCharm`` in your home directory, but if you want you can change
45 | this by editing the file ``bin/idea.properties`` in the installation directory.
46 | You have to adjust for instance the following two lines::
47 |
48 | idea.config.path=Z:/.PyCharm50/config
49 | idea.system.path=Z:/.PyCharm50/system
50 |
51 | .. _`Launching PyCharm section`:
52 |
53 | Launching PyCharm
54 | -----------------
55 | The installer most likely created a shortcut. Click on it to launch PyCharm.
56 | Alternatively you can also find the executable in the bin directory of the
57 | installation or in a standard bin directory (e.g. ``/usr/bin/pycharm``).
58 |
59 | Launching PyCharm the first time
60 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
61 | When launching pycharm for the first time, you will have no ``.PyCharm50``
62 | in your home directory. This directory contains the global configuration
63 | describing your global preference, your environment, the licencing information,
64 | and so on. PyCharm will therefore ask a few questions.
65 |
66 | If you use the commercial version of PyCharm, you have to provide information
67 | for:
68 |
69 | * your pycharm/jetbrain account (created before) if you work at home for instance,
70 |
71 | * or a pycharm server licence if you work at university for instance. If you
72 | are in the context of the UGA enter
73 | ``http://im2ag-licence.e-im2ag.ujf-grenoble.fr:1111`` for the licence server.
74 |
75 |
76 | Opening/Creating PyCharm projects
77 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
78 | Just like eclipse or netbeans, PyCharm is NOT a text **file** editor. So one do not
79 | open a file when launching PyCharm, but on the contrary create a **project**
80 | at a given place; and this project (or other projects) will always be opened and
81 | used in next sessions. A PyCharm project is simply a directory with a ``.idea``
82 | subdirectory. This ``.idea`` subdirectoy is created on the first time and then
83 | managed by PyCharm.
84 |
85 | *When launching PyCharm you have to select your "project" directory*,
86 | that is the directory that contains all files you want to work on.
87 | Usually this is the directory that also contains versioning information, so
88 | it is most likely that this project directory will contain both ``.idea`` and
89 | ``.git`` subdirectories (if you are using Git).
90 |
91 | .. note::
92 |
93 | The normal way to proceed with PyCharm is to open only projects and
94 | you should therefore have only one ``.idea`` directory at the top level
95 | of your "project directory".
96 |
97 | Documentation
98 | -------------
99 | Documentation is available from the ``help`` menu of the tool.
100 |
101 | Configuration
102 | -------------
103 |
104 | To configure PyCharm_ use the menu ``File > Settings``::
105 |
106 | Editor
107 | File Encodings
108 | UTF8
109 | Appearance
110 | Show line numbers
111 | Show method separators
112 | Code Style
113 | General
114 | right margin (columns)
115 |
116 | .. ............................................................................
117 |
118 | .. _PyCharm: https://www.jetbrains.com/pycharm/
119 | .. _`python IDE comparison`: http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#Python
120 | .. _`PyCharm for students`: https://www.jetbrains.com/estore/students/
121 | .. _`download PyCharm`: https://www.jetbrains.com/pycharm/download/
122 | .. _PyDev: http://pydev.org/
123 |
124 | .. |PyCharmOpenWin| replace::
125 | (`web `__)
126 |
127 | .. |PyCharmCommercialWin| replace::
128 | (`web `__)
129 |
130 |
131 |
132 | .. ...... notes .....
133 | .Pycharm50/options/editor.xml
134 |
135 |
136 |
137 |
138 |
139 | .PyCharm50/options/filetypes.xml
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 | git.xml
156 |
157 |
158 | <-----------
159 |
160 |
161 |
162 | github.xml
163 |
164 |
165 |
166 |
167 |
168 |
169 | ide.general.xml
170 |
171 |
172 |
173 |
174 |
175 |
176 | jdk.table.xml ProjectJdkTable ---- interpreters and virtual env
177 |
178 |
179 |
180 |
181 |
182 |
183 | runner.layout.xml < ---database stuff
--------------------------------------------------------------------------------
/docs/pycharm/media/PyCharmSplash.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/pycharm/media/PyCharmSplash.jpg
--------------------------------------------------------------------------------
/docs/pycharm/notes.txt:
--------------------------------------------------------------------------------
1 | PyCharm
2 | Foo # Class Foo visible in the current scope
3 | x.y.Bar # Class Bar from x.y module
4 | Foo | Bar # Foo or Bar
5 | (Foo, Bar) # Tuple of Foo and Bar
6 | list[Foo] # List of Foo elements
7 | dict[Foo, Bar] # Dict from Foo to Bar
8 | T # Generic type (T-Z are reserved for generics)
9 | T <= Foo # Generic type with upper bound Foo
10 | Foo[T] # Foo parameterized with T
11 | (Foo, Bar) -> Baz # Function of Foo and Bar that returns Baz
12 | list[dict[str, datetime]] # List of dicts from str to datetime (nested arguments)
13 | :param "type_name" "param_name": "param_description" # Combining parameter type and documentation in a single line. See Sphinx documentation for details.)
--------------------------------------------------------------------------------
/docs/pylint/index.rst:
--------------------------------------------------------------------------------
1 | .. _`PyLint chapter`:
2 |
3 | PyLint
4 | ======
5 |
6 | PyLint_ is a quality control tool allowing to check adherence of python programs
7 | to coding standards. PyLint_ is written in Python and runs on all platforms.
8 |
9 | Installation
10 | ------------
11 |
12 | .. todo change section to reference general python chapter
13 |
14 | Installation instructions |pylint-install| depends on the platform used but
15 | basically PyLint_ is installed via python ``pip`` or platform specific package
16 | installers (e.g. ``apt-get`` on debian or ubuntu). With pip just type::
17 |
18 | pip install pylint
19 |
20 | .. attention::
21 | On windows, make sure that the ``Scripts`` directory of your python
22 | installation is included in the system path (see :ref:`windowsPath`).
23 | Some other options are discussed `here `__
24 |
25 | On Unbuntu you can install pylint as following::
26 |
27 | sudo apt-get install pylint
28 |
29 |
30 | Lauching PyLint
31 | ---------------
32 | To try the installation type::
33 |
34 | pylint --version
35 | pylint --help
36 |
37 | Documentation
38 | -------------
39 | The documentation is available on http://docs.pylint.org/
40 |
41 | .. ............................................................................
42 |
43 | .. _PyLint: http://www.pylint.org/
44 |
45 | .. |pylint-install| replace::
46 | (`web `__)
47 |
48 |
49 |
--------------------------------------------------------------------------------
/docs/python/docs/JythonInANutshell-3.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/python/docs/JythonInANutshell-3.pdf
--------------------------------------------------------------------------------
/docs/python/docs/PythonGoogle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/python/docs/PythonGoogle.png
--------------------------------------------------------------------------------
/docs/python/docs/python-cheat-sheet-a.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/python/docs/python-cheat-sheet-a.pdf
--------------------------------------------------------------------------------
/docs/python/docs/python-cheat-sheet-b.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/python/docs/python-cheat-sheet-b.pdf
--------------------------------------------------------------------------------
/docs/python/docs/python-cheat-sheet-c.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/python/docs/python-cheat-sheet-c.png
--------------------------------------------------------------------------------
/docs/python/docs/python-french-cheat-sheet-d.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/python/docs/python-french-cheat-sheet-d.pdf
--------------------------------------------------------------------------------
/docs/python/docs/python-regular-expression-cheat-sheet.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/python/docs/python-regular-expression-cheat-sheet.pdf
--------------------------------------------------------------------------------
/docs/python/downloads/README.txt:
--------------------------------------------------------------------------------
1 | The files requirements-ubuntu is generated from ScribesStore/tools/python.
--------------------------------------------------------------------------------
/docs/python/downloads/requirements-ubuntu.txt:
--------------------------------------------------------------------------------
1 | alabaster==0.7.7
2 | amqp==1.4.6
3 | anyjson==0.3.3
4 | astroid==1.3.6
5 | autopep8==1.1.1
6 | Babel==2.2.0
7 | babelfish==0.5.4
8 | BeautifulSoup==3.2.1
9 | beautifulsoup4==4.3.2
10 | billiard==3.3.0.20
11 | binaryornot==0.3.0
12 | blockdiag==1.5.3
13 | celery==3.1.18
14 | cffi==1.5.2
15 | chardet==2.3.0
16 | click==3.3
17 | colorama==0.3.3
18 | cookiecutter==1.0.0
19 | coverage==3.7.1
20 | cryptography==1.2.2
21 | cssselect==0.9.1
22 | dashboardmods==1.0
23 | diff-match-patch==20121119
24 | Django==1.7.9
25 | django-admin-bootstrapped==2.5.2
26 | django-admin-easy==0.2.2.1
27 | django-admin-tools==0.5.2
28 | django-admin-tools-stats==0.6.1
29 | django-admin-user-stats==0.2
30 | django-admirarchy==0.2.0
31 | django-allauth==0.21.0
32 | django-any-urlfield==2.1.1
33 | django-appconf==1.0.1
34 | django-braces==1.8.0
35 | django-cache-utils==0.7.2
36 | django-celery==3.1.16
37 | django-chart-tools==1.0
38 | django-crispy-forms==1.4.0
39 | django-debug-toolbar==1.3.0
40 | django-dynamic-scraper==0.5.2
41 | django-extensions==1.5.5
42 | django-filer==0.9.11
43 | django-filter==0.10.0
44 | django-fluent-dashboard==0.5
45 | django-frontend==1.6.1
46 | django-frontend-skeleton==3.0.0
47 | django-fsm==2.2.1
48 | django-fsm-admin==1.2.1
49 | django-fsm-log==1.2.0
50 | django-guardian==1.3
51 | django-import-export==0.2.7
52 | django-jinja==1.4.1
53 | django-jsonfield==0.9.13
54 | django-location-field==1.5.2
55 | django-model-report==0.2.1
56 | django-mptt==0.7.4
57 | django-mptt-admin==0.2.1
58 | django-nvd3==0.8.2
59 | django-polymorphic==0.7.1
60 | django-polymorphic-tree==1.1
61 | django-qsstats-magic==0.7.2
62 | django-querycount==0.3.0
63 | django-rest-swagger==0.3.2
64 | django-reversion==1.8.7
65 | Django-Select2==4.3.1
66 | django-silk==0.5.5
67 | django-sql-explorer==0.7
68 | django-suit==0.2.13
69 | django-suit-ckeditor==0.0.2
70 | django-suit-redactor==0.0.2
71 | django-tag-parser==2.1
72 | django-taggit==0.14.0
73 | django-twitter-bootstrap==3.3.0
74 | django-vanilla-views==1.0.4
75 | djangorestframework==3.1.3
76 | docutils==0.12
77 | easy-thumbnails==2.2
78 | ecdsa==0.13
79 | Embedly==0.5.0
80 | enum34==1.1.2
81 | Fabric==1.10.2
82 | funcparserlib==0.3.6
83 | future==0.15.2
84 | gitdb==0.6.4
85 | github3.py==0.9.5
86 | GitPython==1.0.1
87 | google-api-python-client==1.4.1
88 | graphviz==0.4.10
89 | gspread==0.3.0
90 | guessit==0.10.3
91 | hachoir-core==1.3.3
92 | hachoir-metadata==1.3.3
93 | hachoir-parser==1.3.4
94 | hieroglyph==0.7.1
95 | html5lib==0.99999
96 | httplib2==0.9.2
97 | idna==2.0
98 | ipaddress==1.0.16
99 | ipython==3.2.0
100 | javalang==0.9.6
101 | javasphinx==0.9.12
102 | Jinja2==2.8
103 | kombu==3.0.26
104 | logilab-common==0.63.2
105 | lxml==3.4.4
106 | Markdown==2.6.2
107 | MarkupSafe==0.23
108 | mock==1.0.1
109 | ndg-httpsclient==0.4.0
110 | nltk==3.0.3
111 | nose==1.3.7
112 | oauth2client==1.5.2
113 | oauthlib==0.7.2
114 | paramiko==1.15.2
115 | Pattern==2.6
116 | pbr==1.2.0
117 | pdfminer==20140328
118 | pep8==1.6.2
119 | pep8-naming==0.3.2
120 | Pillow==3.1.1
121 | ply==3.8
122 | py==1.4.30
123 | pyasn1==0.1.9
124 | pyasn1-modules==0.0.8
125 | pycparser==2.14
126 | pycrypto==2.6.1
127 | pydot==1.0.2
128 | PyDrive==1.0.1
129 | pyenchant==1.6.6
130 | PyGithub==1.26.0
131 | Pygments==2.1.1
132 | pylint==1.4.3
133 | PyMySQL==0.6.6
134 | pyOpenSSL==0.15.1
135 | pyparsing==2.0.3
136 | PyPDF2==1.24
137 | pyreadline==2.0
138 | pytest==2.7.2
139 | pytest-django==2.8.0
140 | python-dateutil==2.4.2
141 | python-memcached==1.54
142 | python-nvd3==0.13.7
143 | python-openid==2.2.5
144 | python-slugify==0.0.9
145 | pytz==2015.7
146 | PyYAML==3.11
147 | qubic.sphinx.graphvizinclude==0.1
148 | queuelib==1.2.2
149 | releases==1.0.0
150 | reportlab==3.2.0
151 | requests==2.9.1
152 | requests-oauthlib==0.5.0
153 | rsa==3.3
154 | rusty==0.3.1
155 | sadisplay==0.4.2
156 | schema2rst==0.9.0
157 | Scrapy==1.0.0
158 | selenium==2.46.0
159 | seqdiag==0.9.5
160 | simplejson==3.7.3
161 | six==1.10.0
162 | smmap==0.9.0
163 | snowballstemmer==1.2.1
164 | Sphinx==1.3.5
165 | sphinx-classy-code==0.1
166 | sphinx-git==9
167 | sphinx-paramlinks==0.3.1
168 | sphinx-pyreverse==0.0.12
169 | sphinx-rtd-theme==0.1.9
170 | sphinx-testing==0.7.1
171 | sphinxcontrib-autoanysrc==0.0.3.post20141120
172 | sphinxcontrib-autojs==0.1.dev20110917
173 | sphinxcontrib-autoprogram==0.1.2
174 | sphinxcontrib-autorun==0.1.post20140415
175 | sphinxcontrib-css3image==0.1.dev20140921
176 | sphinxcontrib-domaintools==0.1
177 | sphinxcontrib-embedly==0.2
178 | sphinxcontrib-exceltable==0.2.2
179 | sphinxcontrib-gen-node==0.1.post20131031
180 | sphinxcontrib-getthecode==0.1.dev20140921
181 | sphinxcontrib-github==0.1.3
182 | sphinxcontrib-googlechart==0.2.1
183 | sphinxcontrib-googlemaps==0.1.0
184 | sphinxcontrib-httpdomain==1.4.0
185 | sphinxcontrib-images==0.7.0
186 | sphinxcontrib-jinjadomain==0.5.1
187 | sphinxcontrib-jsdemo==0.1.4
188 | sphinxcontrib-jsoncall==0.3
189 | sphinxcontrib-makedomain==0.1.1
190 | sphinxcontrib-phpdomain==0.1.4
191 | sphinxcontrib-plantuml==0.6
192 | sphinxcontrib-programoutput==0.8
193 | sphinxcontrib-requirements==0.1.dev20110502
194 | sphinxcontrib-restbuilder==0.1
195 | sphinxcontrib-sadisplay==0.3.2.dev20130518
196 | sphinxcontrib-seqdiag==0.8.5
197 | sphinxcontrib-slide==0.3.0
198 | sphinxcontrib-spelling==2.1.2
199 | sphinxcontrib-sqltable==1.0
200 | sphinxcontrib-swf==0.3
201 | sphinxcontrib-taglist==0.2
202 | sphinxcontrib-traceables==0.1.2
203 | sphinxcontrib-yuml==0.3.1
204 | sphinxcontrib.twitter==0.4.0
205 | sphinxcontrib.youtube==0.1.2
206 | SQLAlchemy==1.0.12
207 | SQLAlchemy-Utils==0.31.4
208 | sqlparse==0.1.11
209 | stevedore==1.5.0
210 | tablib==0.10.0
211 | tk.phpautodoc==1.2.1
212 | tvdb-api==1.10
213 | Twisted==15.2.1
214 | unicodecsv==0.14.1
215 | Unidecode==0.4.18
216 | uritemplate==0.6
217 | uritemplate.py==0.3.0
218 | w3lib==1.11.0
219 | webcolors==1.5
220 | wheel==0.24.0
221 | xhtml2pdf==0.0.6
222 | xlrd==0.9.4
223 | xlwt==0.7.4
224 | zope.interface==4.1.2
225 |
--------------------------------------------------------------------------------
/docs/python/index.rst:
--------------------------------------------------------------------------------
1 | .. _`Python chapter`:
2 |
3 | Python
4 | ======
5 |
6 | According to wikipedia "`Python`_ is a widely used general-purpose, high-level
7 | programming language. Its design philosophy emphasizes code readability, and
8 | its syntax allows programmers to express concepts in fewer lines of code than
9 | would be possible in languages such as C++ or Java."
10 |
11 | .. _`Python Installation`:
12 |
13 | Installation
14 | ------------
15 |
16 | This section shows how to install Python 2.7, how to use create
17 | virtual environments, how to install necessary libraries including windows
18 | specific libraries. If you want to use Jython/Python in the context
19 | of modelio (see :ref:`Modelio chapter`) you do not have anything to install
20 | as Jython 2.7 is embedded into this tool.
21 |
22 | Installing Python 2.7
23 | ^^^^^^^^^^^^^^^^^^^^^
24 |
25 | Detailed information is available in the `BeginnersGuide`_ of python wiki.
26 | On most unix systems python is usually installed so try ``python -V`` on the
27 | command line. If the version is >= 2.7.6 you can skip this step.
28 |
29 | .. note::
30 | There are two python ecosystems: python 2.X and 3.X.
31 | There some `language differences`_ between Python 2 and
32 | Python 3. Since not all libraries have been ported to 3.X Python 2
33 | is still the most common choice when a lot of libraries are required.
34 |
35 |
36 | * `Download Python 2.7.10`_. **WARNING: On windows you must select the 32
37 | bits version** |Python2710Windows32|.
38 |
39 | * Install python in a directory like ``%SCRIBESTOOLS%\Python27``. Keep the version
40 | number (at least 2.7) since it is common to have another directory
41 | like ``%SCRIBESTOOLS%\Python34`` for Python 3.4.
42 |
43 | msiexec /i c:\DOWNLOADS\Win\python-2.7.10.msi TARGETDIR=%SCRIBESTOOLS%\Python27 ALLUSER=1 ADDLOCAL=ALL
44 |
45 | * Change the two following directories to the PATH environment variable
46 | (if not already done by the installation program). ::
47 |
48 | # replace ';' separator by ':' on unix
49 | # add %SCRIBESTOOLS%\Python2.7;%SCRIBESTOOLS%\Python2.7\Scripts to PATH
50 |
51 | * To test your installation, open a shell windows and type ``python``.
52 | The python interpreter should open and you should be able to type
53 | ``print 'hello world'`` for instance. ``quit()`` will close the interpreter.
54 |
55 |
56 | Virtual environments
57 | ^^^^^^^^^^^^^^^^^^^^
58 | Install `virtualenvwrapper`_ (or `virtualenvwrapper-win`_ on windows).
59 | This can be done with one command (according to your platform)::
60 |
61 | pip install virtualenvwrapper-win # on windows
62 | pip install virtualenvwrapper # otherwise
63 |
64 | Create a directory that will contains all virtual environments. For instance
65 | ``%SCRIBESTOOLS%\PyVEnvs27``::
66 |
67 | mkdir %SCRIBESTOOLS%\PyVEnvs27
68 |
69 | Set the ``WORKON_HOME`` environment variable to the directory just created and
70 | don't forget to open a new shell to see the effects of this change.::
71 |
72 | # define WORKON_HOME variable as %SCRIBESTOOLS%\PyVEnvs27
73 |
74 | Use a new shell to create a new virtual environment named ``ScribeEnv``::
75 |
76 | mkvirtualenv ScribeEnv
77 | # this creates a directory ``%SCRIBESTOOLS%\PyVEnvs27\ScribeEnv``.
78 | # You should also see that the prompt of the shell is now prefixed with
79 | # (ScribeEnv) like in the following line:
80 | # (ScribeEnv) C:\Users\jmfavre>
81 |
82 | This ``(ScribeEnv)`` indicates that the python virtual environment used in
83 | this shell is ``ScribeEnv``. This is valid only for *this* shell.
84 | If you want to open another shell you will need to **"activate"** this
85 | virtual environment::
86 |
87 | workon ScribeEnv
88 |
89 | From now on, you will have to activate the ScribeEnv virtual environment
90 | each time you open a new shell and want to use/install python software.
91 |
92 | Libraries
93 | ^^^^^^^^^
94 |
95 | Some python libraries depends on the OS (those who are using C libraries for
96 | instance). Select the section corresponding on your OS:
97 |
98 | * installing `Python libraries on windows`_.
99 | * installing `Python libraries on unix`_.
100 |
101 | .. _`Python libraries on windows`:
102 |
103 | Libraries on windows
104 | ''''''''''''''''''''
105 |
106 | This section is devoted to installing python libraries on windows.
107 |
108 | Native libraries
109 | """"""""""""""""
110 |
111 | .. Note::
112 | Some python libraries need to be compiled with a C compiler.
113 | This is tricky on standard windows boxes. When a python library is
114 | not available for windows, a good idea is to look on the following
115 | web site:
116 | `Unofficial Windows Binaries for Python Extension Packages`_.
117 |
118 | pywin32
119 | ~~~~~~~
120 |
121 | pywin32_ is a set of python extensions for Windows. This library is required
122 | in particular by Scrapy_.
123 |
124 | * download the 32 bits version ``pywin32-219.win32-py2.7.exe`` |PyWin32|.
125 | * **do not click on the executable** but type instead the following command
126 | (make sure that ``(ScribeEnv)`` is in the prompt)::
127 |
128 | easy_install C:\DOWNLOADS\pywin32-219.win32-py2.7.exe
129 |
130 | pygraphviz
131 | ~~~~~~~~~~
132 |
133 | pygraphviz_ is a python API to use the GraphViz_ graph package.
134 |
135 | * download ``pygraphviz‑1.3rc2‑cp27‑none‑win32.whl`` |PyGraphViz|. This
136 | version works with ``graphviz 2.38.msi``.
137 | * **do not click on the executable** but type instead the following command
138 | (make sure that ``(ScribeEnv)`` is in the prompt)::
139 |
140 | pip install c:\DOWNLOADS\pygraphviz-1.3rc2-cp27-none-win32.whl
141 |
142 | pycrypto
143 | ~~~~~~~~
144 |
145 | PyCrypto is a Python cryptography package used by other packages.
146 |
147 | * download ``pygraphviz‑1.3rc2‑cp27‑none‑win32.whl`` |PyCrypto|.
148 | * Type instead the following command
149 | (make sure that ``(ScribeEnv)`` is in the prompt)::
150 |
151 | easy_install.exe c:\DOWNLOADS\pycrypto-2.6.win32-py2.7.exe
152 |
153 | pillow
154 | ~~~~~~
155 |
156 | Pillow, a replacement for PIL, the Python Image Library.
157 |
158 | * download ``Pillow-3.1.1-cp27-none-win32.whl`` |Pillow|.
159 | * Type instead the following command
160 | (make sure that ``(ScribeEnv)`` is in the prompt)::
161 |
162 | easy_install.exe c:\DOWNLOADS\Pillow-3.1.1-cp27-none-win32.whl
163 |
164 | Python libraries
165 | """"""""""""""""
166 |
167 | To install regular python libraries (those that are based on python only)
168 | type the following command (make sure that ``(ScribeEnv)`` is in the prompt)::
169 |
170 | pip install XXXX\requirements-windows.txt
171 |
172 | .. todo Provide requirements-windows.txt
173 |
174 |
175 |
176 | .. _`Python libraries on unix`:
177 |
178 | Libraries on Unix
179 | '''''''''''''''''
180 |
181 | This section is devoted to installing python libraries on unix.
182 |
183 | Native libraries
184 | """"""""""""""""
185 | On **Ubuntu 14.04** the following native libraries have to be installed for python
186 | libraries to work properly.
187 |
188 | .. tip::
189 | For other unix systems try first to install the
190 | python libraries (see next section) and check on Google what to do
191 | if you got error messages.
192 |
193 | ::
194 |
195 | sudo apt-get install autoconf g++ python2.7-dev python-dev
196 | sudo apt-get build-dep python-imaging # for Pillow package
197 | sudo apt-get install libjpeg8 libjpeg62-dev libfreetype6 libfreetype6-dev # for Pillow package
198 | sudo apt-get install libffi-dev libssl-dev libxml2-dev libxslt1-dev
199 |
200 | Python libraries
201 | """"""""""""""""
202 |
203 | To install python libraries first download |RequirementsUbuntu|.
204 | Then change the path in the following command by the path to your virtualenv directory
205 | (e.g. ``/usr/share/PyVEnvs27/ScribesEnv``) and type::
206 |
207 | sudo //bin/pip install requirements-ubuntu.txt
208 |
209 |
210 | Launching Python
211 | ----------------
212 |
213 | To test your python installation try the following command::
214 |
215 | python -V
216 |
217 |
218 | .. _`Python Documentation` :
219 |
220 | Documentation
221 | -------------
222 |
223 | The best way to find information about python is just to ask question such
224 | as "python read file at once" on google. You may also want to have a
225 | look at |JythonInANutshell| and print a cheat sheet :
226 |
227 | * |CheatSheetA|
228 | * |CheatSheetB|
229 | * |CheatSheetC|
230 | * |FrenchCheatSheetD|
231 | * |RegExCheatSheet|
232 |
233 |
234 |
235 | .. ...........................................................................
236 |
237 | .. _Python:
238 | https://www.python.org
239 |
240 | .. _`Download Python 2.7.10`:
241 | https://www.python.org/downloads/release/python-2710/
242 |
243 | .. _`BeginnersGuide`:
244 | https://wiki.python.org/moin/BeginnersGuide
245 |
246 | .. _`language differences`:
247 | https://wiki.python.org/moin/Python2orPython3
248 |
249 | .. _`Unofficial Windows Binaries for Python Extension Packages`:
250 | http://www.lfd.uci.edu/~gohlke/pythonlibs/
251 |
252 | .. _`install python 2.7.9 on ubuntu`:
253 | http://shiny1210-blog.logdown.com/posts/259363-how-to-install-python-279-on-ubuntu-1404
254 |
255 | .. _`virtualenvwrapper`:
256 | http://virtualenvwrapper.readthedocs.org/
257 |
258 | .. _`virtualenvwrapper-win`:
259 | https://pypi.python.org/pypi/virtualenvwrapper-win
260 |
261 | .. _Scrapy:
262 | http://scrapy.org/
263 |
264 | .. _GraphViz:
265 | http://graphviz.org/
266 |
267 | .. _pywin32:
268 | http://sourceforge.net/projects/pywin32/
269 |
270 | .. _pygraphviz:
271 | http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygraphviz
272 |
273 | .. |Python2710Windows32| replace::
274 | (`web `__)
275 |
276 | .. |PyWin32| replace::
277 | (`web `__)
278 |
279 | .. |PyGraphViz| replace::
280 | (`web `__)
281 |
282 | .. |PyCrypto| replace::
283 | (`web `__)
284 |
285 | .. |Pillow| replace::
286 | (`web `__)
287 |
288 | .. |JythonInANutshell| replace::
289 | :download:`J/Python in a nutshell`
290 |
291 | .. |CheatSheetA| replace::
292 | :download:`CheatSheetA`
293 |
294 | .. |CheatSheetB| replace::
295 | :download:`CheatSheetB`
296 |
297 | .. |CheatSheetC| replace::
298 | :download:`CheatSheetC`
299 |
300 | .. |FrenchCheatSheetD| replace::
301 | :download:`FrenchCheatSheetD`
302 |
303 | .. |RegExCheatSheet| replace::
304 | :download:`RegExCheatSheet`
305 |
306 | .. |RequirementsUbuntu| replace::
307 | :download:`requirements-ubuntu.txt`
308 |
309 |
310 |
--------------------------------------------------------------------------------
/docs/readthedocs/index.rst:
--------------------------------------------------------------------------------
1 | .. _`ReadTheDocs chapter`:
2 |
3 | ReadTheDocs
4 | ===========
5 |
6 | ReadTheDocs_ is a cloud service for publishing and hosting documentation using
7 | the Sphinx_ documentation generator (see :ref:`Sphinx chapter`). The
8 | documentation your are reading is hosted on readthedocs_.
9 |
10 | Features
11 | --------
12 | ReadTheDocs_ provide the following services:
13 | * hosting of documentation of open source projects
14 | * continuous Sphinx_ generation (connected to GitHub)
15 | * management of documentation versioning within the browser
16 | * support for downloading documentation in html, pdf, and e-pub formats
17 | * searchable documentation
18 |
19 | Installation
20 | ------------
21 |
22 | No installation is required as this service is on the cloud.
23 | However you must create an `ReadTheDocs account`_.
24 |
25 | .. todo figure:: media/ReadTheDocsAccount.jpg
26 |
27 | Then you need to connect this account with your GitHub account. Once this is
28 | done you can import the projects that have sphinx documentation.
29 |
30 |
31 | Usage
32 | -----
33 |
34 | Once the ReadTheDocs and GitHub account are connected, the documentation pushed
35 | on the github repository is automatically compiled and published on the
36 | ReadTheDpcs web site.
37 |
38 | It is worth to use the `sphinx rtd theme`_ as it provides an excellent
39 | rendering both on computer screens but also on tablet or smart phones.
40 |
41 | .. figure:: media/SphinxRTDTheme.png
42 | :align: center
43 |
44 | `sphinx rtd theme`_
45 |
46 |
47 | Documentation
48 | -------------
49 | The web site is rather easy to use, but if you need documentation for specific
50 | topics you can have a look at `ReadTheDocs documentation`_.
51 |
52 | .. ............................................................................
53 |
54 | .. _Sphinx:
55 | http://sphinx-doc.org/
56 |
57 | .. _ReadTheDocs:
58 | https://readthedocs.org/
59 |
60 | .. _`ReadTheDocs account`:
61 | https://readthedocs.org/accounts/signup/
62 |
63 | .. _`ReadTheDocs documentation`:
64 | http://docs.readthedocs.org/en/latest/index.html
65 |
66 | .. _`sphinx rtd theme`:
67 | http://docs.readthedocs.org/en/latest/theme.html
68 |
--------------------------------------------------------------------------------
/docs/readthedocs/media/SphinxRTDTheme.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/readthedocs/media/SphinxRTDTheme.png
--------------------------------------------------------------------------------
/docs/schemacrawler/index.rst:
--------------------------------------------------------------------------------
1 | .. _`SchemaCrawler chapter`:
2 |
3 | SchemaCrawler
4 | =============
5 |
6 | SchemaCrawler_ is a tool and an API dealing with SQL database schemas
7 | information.
8 |
9 | .. image:: media/diagram_example.jpg
10 |
11 | Features
12 | --------
13 | The tool provides:
14 |
15 | * extracted information about database schemas in various formats
16 | (e.g. text, json, csv, html5)
17 | * documentation generation with ER diagrams generated by graphviz,
18 | * lint like quality insurance,
19 | * grep/diff like support.
20 |
21 | The API allows to access to SQL databases in an homogeneous way.
22 |
23 | Installation
24 | ------------
25 |
26 | To install SchemaCrawler_:
27 |
28 | * Create a directory that will contain the software (e.g.
29 | ``%SCRIBESTOOLS%\SchemaCrawler``).
30 | * Download schemacrawler-12.06.03-main.zip |SchemaCrawlerZip|.
31 | * Extract the content of the archive in the target directory.
32 | * As a result you will 3 sub directories ``_ivy``, ``_schemacrawler``,
33 | ``examples``.
34 | * Add the directory to the system PATH
35 |
36 | The ``sc`` scripts provided ("sc" stands for SchemaCrawler) assume that
37 | this command will run in the ``_schemacrawler`` directory. In order to
38 | remove this constraints replaces the content of ``_schemacrawler\sc.cmd`` by::
39 |
40 | @SET DIR=%~dp0
41 | @java -classpath %DIR%/lib/*;%SC% schemacrawler.Main %*
42 |
43 | On unix replace the content of ``_schemacrawler\sc.sh`` by::
44 |
45 | #!/bin/sh
46 | SC=`dirname $0`
47 | java -cp $(echo $SC/lib/*.jar | tr ' ' ':') schemacrawler.Main $*
48 |
49 | SchemaCrawler_ is written in java but supports scripting with different
50 | languages (). In order to use Python for Scripting the following commands
51 | should be executed (assuming that the directory is ``%SCRIBESTOOLS%\SchemaCrawler``)::
52 |
53 | cd %SCRIBESTOOLS%\SchemaCrawler\_ivy
54 | download.cmd python # use download.sh on unix
55 |
56 |
57 | Launching SchemaCrawler
58 | -----------------------
59 | The simplest test to installation is to type the following::
60 |
61 | cd %SCRIBESTOOLS%\SchemaCrawler\_schemacrawler # to be adapted if necessary
62 | schemacrawler --version
63 | schemacrawler --help
64 |
65 | This should display the version of SchemaCrawler_ and then the help of the
66 | command line.
67 |
68 | To go further the directory ``examples`` contains many examples of usage.
69 | A HSQLDB database server is provided for testing purposes. To launch this
70 | example database server open a shell window and type the following commands::
71 |
72 | cd %SCRIBESTOOLS%\SchemaCrawler\examples # directory to be adapted if necessary
73 | StartDatabase.cmd # .sh on unix
74 |
75 |
76 | At that level the test server should be running in this window (and the window
77 | color may have changed).
78 |
79 | Open another shell and try::
80 |
81 | cd %SCRIBESTOOLS%\SchemaCrawler\_schemacrawler # to be adapted
82 | sc.cmd -server=hsqldb -database=schemacrawler -password= -infolevel=detail -command=schema
83 |
84 | schemacrawler -server=hsqldb -database=schemacrawler -password= -infolevel=detail -command=schema
85 |
86 | If you have a sqlite database you can also try::
87 |
88 | schemacrawler -server sqlite -database \db.sqlite3 -infolevel=maximum -password= -command schema
89 |
90 | Documentation
91 | -------------
92 | The documentation of the command line interface is available via the command::
93 |
94 | schemacrawler -help
95 |
96 | The detail of the API is documented through `SchemaCrawler javadocs`_.
97 |
98 | Examples
99 | --------
100 | The directory ``examples`` of the installation contains examples of use for the
101 | command line interface, for scripting or for the API.
102 |
103 | .. ...........................................................................
104 |
105 | .. |SchemaCrawlerZip| replace::
106 | `web `__
107 |
108 |
109 | .. _SchemaCrawler: http://schemacrawler.sourceforge.net/
110 |
111 | .. _`"Getting Started" page`:
112 | http://schemacrawler.sourceforge.net/readme.html
113 |
114 | .. _`Java API Makes Database Metadata as Easily Accessible as POJOs`:
115 | http://www.devx.com/Java/Article/32443
116 |
117 | .. _`SchemaCrawler javadocs`:
118 | http://schemacrawler.sourceforge.net/apidocs/index.html
119 |
--------------------------------------------------------------------------------
/docs/schemacrawler/media/diagram_example.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/schemacrawler/media/diagram_example.jpg
--------------------------------------------------------------------------------
/docs/schemaspy/archives/SchemaSpyWebSite.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/schemaspy/archives/SchemaSpyWebSite.zip
--------------------------------------------------------------------------------
/docs/schemaspy/index.rst:
--------------------------------------------------------------------------------
1 | .. _`SchemaSpy chapter`:
2 |
3 | SchemaSpy
4 | =========
5 |
6 | SchemaSpy_ is a simple reverse engineering tool that takes a SQL database
7 | and generate diagrams of the database schema. This is a java program; it
8 | runs on all platforms.
9 |
10 | Features
11 | --------
12 |
13 | SchemaSpy_ reads a relational database and
14 |
15 | * generates a XML file corresponding to the database schema
16 | * detects a few kind of defaults in the database design
17 |
18 | .. figure:: media/SchemaSpyDefaults.png
19 | :align: center
20 |
21 | Examples of defaults detected by SchemaSpy_
22 |
23 | * generates a html site a la javadoc with clickable entity-relationship
24 | diagrams.
25 |
26 | .. figure:: media/SchemaSpySchema.png
27 | :align: center
28 |
29 | Example of diagram generated by SchemaSpy_
30 |
31 |
32 | Interoperability
33 | ----------------
34 |
35 | SchemaSpy_ is particularly interesting because the reverse engineering process
36 | generates a rather simple XML file so that other tools can be build by
37 | consuming this file.
38 |
39 | Installation
40 | ------------
41 |
42 | To install SchemaSpy_:
43 |
44 | * Download the SchemaSpy_ jar file |SchemaSpyJar|.
45 | * Create the directory ``%SCRIBESTOOLS%\SchemaSpy``.
46 | * Move the ``schemaspy-6.0.0-rc1.jar`` file into ``%SCRIBESTOOLS%\SchemaSpy\schemaSpy.jar``.
47 | * Add ``%SCRIBESTOOLS%\SchemaSpy`` to the system PATH.
48 | * Copy the files ``schemaspy.bat`` and ``schemaspy.sh`` into the directory
49 |
50 |
51 | Launching SchemaSpy
52 | -------------------
53 | You can check if the installation (in a new shell) by trying the ``-dbhelp``
54 | option::
55 |
56 | schemaspy -dbhelp
57 |
58 | This command should display a rather long list of supported database types,
59 | with the option to use to connect to the database in each case.
60 |
61 | You need an access to a SQL database if you want to execute SchemaSpy.
62 | The command line options are described in the documentation.
63 |
64 |
65 | Documentation
66 | -------------
67 | The documentation is available on the web. It mostly describes the many
68 | possible command line options of SchemaSpy_. There is also an example
69 | of generated html, "`library example`_".
70 |
71 |
72 | SchemaSpy and SQLite
73 | --------------------
74 | The SQLite driver delivered with SchemaSpy is not working. If you want to
75 | use SQLite, a driver and a property file must be installed:
76 |
77 | * make sure that the driver have been installed (see the
78 | :ref:`SQLite Installation` section of :ref:`SQLite chapter`).
79 | This results in the driver ``%SCRIBESTOOLS%\SQLite\sqlite-jdbc.jar``.
80 | * Copy the file ``sqlite.properties`` into the directory
81 | ``%SCRIBESTOOLS%\SchemaSpy``.
82 | * Adjust the location of the driver in the ``sqlite.properties`` file.
83 |
84 | To use a SQLite database file you will have to specify the path to
85 | the property files with the ``-t`` option: For instance the following command
86 | line generate the documentation of the database ``db.sqlite3``
87 | in the ``docs\SchemaSpy`` directory::
88 |
89 | schemaspy -t %SCRIBESTOOLS%/SchemaSpy/sqlite.properties -db db.sqlite3 -sso -o docs\SchemaSpy
90 |
91 | With oracle:
92 |
93 | schemaspy -t orathin -host im2ag-oracle.e.ujf-grenoble.fr -port 1521 -db ufrima -s MYLOGIN -u mylogin -p ***** -o out
94 |
95 | .. ............................................................................
96 |
97 | .. _SchemaSpy: http://schemaspy.org
98 |
99 | .. |SchemaSpyJar| replace::
100 | `web `__
101 |
102 | .. _`library example` : http://schemaspy.org/sample/
103 |
--------------------------------------------------------------------------------
/docs/schemaspy/media/SchemaSpyDefaults.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/schemaspy/media/SchemaSpyDefaults.png
--------------------------------------------------------------------------------
/docs/schemaspy/media/SchemaSpySchema.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/schemaspy/media/SchemaSpySchema.png
--------------------------------------------------------------------------------
/docs/scribesgit/media/WorkDefinitionExample.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/scribesgit/media/WorkDefinitionExample.png
--------------------------------------------------------------------------------
/docs/selenium/index.rst:
--------------------------------------------------------------------------------
1 | .. _`Selenium chapter`:
2 |
3 | Selenium
4 | ========
5 |
6 |
7 |
8 | Installation
9 | ------------
10 |
11 | Documentation
12 | -------------
13 |
--------------------------------------------------------------------------------
/docs/sphinx/docs/Chrome - Markdown Preview Plus.URL:
--------------------------------------------------------------------------------
1 | [InternetShortcut]
2 | URL=https://chrome.google.com/webstore/detail/markdown-preview-plus/febilkbfcbhebfnokafefeacimjdckgl
3 | IDList=
4 | HotKey=0
5 | IconFile=C:\Users\jmfavre\AppData\Local\Mozilla\Firefox\Profiles\jbzpzifp.default\shortcutCache\+h_XIp3eWjRuyUw5ThTP0Q==.ico
6 | IconIndex=0
7 |
--------------------------------------------------------------------------------
/docs/sphinx/docs/Firefox - Markdown Viewer.URL:
--------------------------------------------------------------------------------
1 | [InternetShortcut]
2 | URL=https://addons.mozilla.org/en-US/firefox/addon/markdown-viewer/
3 | IDList=
4 | HotKey=0
5 | IconFile=C:\Users\jmfavre\AppData\Local\Mozilla\Firefox\Profiles\jbzpzifp.default\shortcutCache\u9pgW4hvOgUuTxrqG1ePTA==.ico
6 | IconIndex=0
7 |
--------------------------------------------------------------------------------
/docs/sphinx/docs/PyCharm - Idea-Markdown.url:
--------------------------------------------------------------------------------
1 | [InternetShortcut]
2 | URL=https://plugins.jetbrains.com/plugin/5970?pr=phpStorm
3 |
--------------------------------------------------------------------------------
/docs/sphinx/docs/ReText - Home - ReText.url:
--------------------------------------------------------------------------------
1 | [InternetShortcut]
2 | URL=http://sourceforge.net/p/retext/home/ReText/
3 |
--------------------------------------------------------------------------------
/docs/sphinx/docs/Thunderbird - Markdown Here Add-ons.URL:
--------------------------------------------------------------------------------
1 | [InternetShortcut]
2 | URL=https://www.google.fr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCMQFjAA&url=https%3A%2F%2Faddons.mozilla.org%2Fen-US%2Fthunderbird%2Faddon%2Fmarkdown-here%2F&ei=D1s9VMqlJIuvadnQgYAF&usg=AFQjCNGoQZfBPncM83RmR4_oGUqUYndelA&sig2=qvRT3Fac12YF_mtU6E4p9w&bvm=bv.77412846,d.d2s
3 | IDList=
4 | HotKey=0
5 | IconFile=C:\Users\jmfavre\AppData\Local\Mozilla\Firefox\Profiles\jbzpzifp.default\shortcutCache\eYapOcBxyD1JHIA0pveaJg==.ico
6 | IconIndex=0
7 |
--------------------------------------------------------------------------------
/docs/sphinx/docs/idea-markdown.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/sphinx/docs/idea-markdown.zip
--------------------------------------------------------------------------------
/docs/sphinx/docs/markdown-cheat-sheet.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/sphinx/docs/markdown-cheat-sheet.pdf
--------------------------------------------------------------------------------
/docs/sphinx/docs/reStructuredText tool support - Stack Overflow.url:
--------------------------------------------------------------------------------
1 | [InternetShortcut]
2 | URL=http://stackoverflow.com/questions/2746692/restructuredtext-tool-support
3 |
--------------------------------------------------------------------------------
/docs/sphinx/docs/rest-cheatsheet-a.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/sphinx/docs/rest-cheatsheet-a.pdf
--------------------------------------------------------------------------------
/docs/sphinx/docs/rest-cheatsheet-b.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/sphinx/docs/rest-cheatsheet-b.pdf
--------------------------------------------------------------------------------
/docs/sphinx/notes.txt:
--------------------------------------------------------------------------------
1 | Sphinx
2 | ======
3 |
4 |
5 |
6 |
7 | https://pythonhosted.org/an_example_pypi_project/sphinx.html#full-code-example
8 | http://raxcloud.blogspot.fr/2013/02/documenting-python-code-using-sphinx.html
9 | http://www.unexpected-vortices.com/doc-notes/markdown-and-rest-compared.html
10 | adding lexer for pygments: https://github.com/jptomo/symfony-docs-trans-env/issues/6
11 | coding standard for sphinx :http://documentation-style-guide-sphinx.readthedocs.org/en/latest/index.html
12 | http://rest-sphinx-memo.readthedocs.org/en/latest/index.html
13 |
14 |
15 |
16 |
17 |
18 |
19 | Installation
20 | ------------
21 |
22 | .. list-table:: Frozen Delights!
23 | :widths: 15 10 30
24 | :header-rows: 1
25 |
26 | *
27 | - Treat
28 | - Quantity
29 | - Description
30 | *
31 | - Albatross
32 | - 2.99
33 | - On a stick!
34 | lekrjzerjlkzjer zelrjzlker
35 | zerkjlzkejr zelkrjzlkejr
36 |
37 | * a
38 | * b
39 | * c
40 |
41 | .. list-table::
42 |
43 | * - 1
44 | - 2
45 | * - a
46 | - b
47 |
48 |
49 |
50 |
51 | * - Crunchy Frog
52 | - 1.49
53 | - If we took the bones out, it wouldn't be
54 | crunchy, now would it?
55 | * - Gannet Ripple
56 | - 1.99
57 | - On a stick!
58 |
--------------------------------------------------------------------------------
/docs/sqlite/index.rst:
--------------------------------------------------------------------------------
1 | .. _`SQLite chapter`:
2 |
3 | SQLite
4 | ======
5 |
6 | SQLite_ is a file-based SQL database system.
7 |
8 | .. _`SQLite Installation`:
9 |
10 | Installation
11 | ------------
12 |
13 | * download the "command line shell” for "sqlite3" from
14 | `SQLite download page`_.
15 | For Windows download ``sqlite-shell-win32-x86-3081002.zip``
16 | |SQLiteWin32zip|.
17 | * create a directory where you want to install sqlite3 (e.g.
18 | ``%SCRIBESTOOLS%\SQLite``)
19 | * extract the archive (only one file on windows: ``sqlite3.exe``)
20 | * move the content of the archive to the directory created
21 | * add ``%SCRIBESTOOLS%\SQLite`` to the path.
22 |
23 | On Ubuntu you can install SQLite_ as following::
24 |
25 | sudo apt-get install sqlite3
26 |
27 | Launching SQLite
28 | ----------------
29 |
30 | You can test the installation and check the version of sqlite3 with the
31 | following command::
32 |
33 | sqlite3 -version
34 |
35 | Then try::
36 |
37 | sqlite3
38 |
39 | This should launch the SQLite_ shell. Try the following commands::
40 |
41 | .help
42 | .schema
43 | .quit
44 |
45 | Since no database has been specified when launching the shell command the
46 | ``.schema`` command will not display anything.
47 |
48 |
49 | Sqlite3 for django
50 | ------------------
51 | If you use SQLite_ with django, then you can launch the shell with the
52 | following commands::
53 |
54 | python manage.py dbshell
55 |
56 |
57 | Documentation
58 | -------------
59 | The documentation is available online (`SQLite documentation`_).
60 |
61 | * `SQLite dialect`_.
62 | * SQL features `omitted from SQLite`_
63 |
64 | To get some help about the command line type::
65 |
66 | sqlite3 -help
67 |
68 | If you want some brief help about the shell commands (including SQL) you can
69 | type in the shell::
70 |
71 | .help
72 |
73 | More generally, the documentation of the shell is available at
74 | https://www.sqlite.org/cli.html
75 |
76 |
77 |
78 | .. .....................................................................
79 |
80 | .. _SQLite:
81 | https://www.sqlite.org/
82 |
83 | .. _`SQLite download page`:
84 | https://www.sqlite.org/download.html
85 |
86 | .. _`SQLite documentation`:
87 | https://www.sqlite.org/docs.html
88 |
89 | .. |SQLiteWin32zip| replace::
90 | `web `__
91 |
92 | .. |SQLiteJDBCJar| replace::
93 | `web `__
94 |
95 | .. _`SQLite dialect`:
96 | https://www.sqlite.org/lang.html
97 |
98 | .. _`omitted from SQLite`:
99 | https://www.sqlite.org/omitted.html
--------------------------------------------------------------------------------
/docs/travisci/index.rst:
--------------------------------------------------------------------------------
1 | .. _`TravisCI chapter`:
2 |
3 | TravisCI
4 | ========
5 |
6 | TravisCI_ is a Continuous Integration (CI) system. It helps automating tests
7 | on git repository changes.
8 |
9 |
10 | Documentation
11 | -------------
12 |
13 | TravisCI could be configured for repositories based on a given list of
14 | programming languages. This includes in particular:
15 |
16 | * documentation for Python_
17 | * documentation for Java_
18 |
19 | .. ............................................................................
20 |
21 | .. _TravisCI: https://travis-ci.org/
22 | .. _`Python`: http://docs.travis-ci.com/user/languages/python/
23 | .. _`Java`: http://docs.travis-ci.com/user/languages/java/
24 |
--------------------------------------------------------------------------------
/docs/travisci/media/TravisCI.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/travisci/media/TravisCI.jpg
--------------------------------------------------------------------------------
/docs/ubuntu/index.rst:
--------------------------------------------------------------------------------
1 | .. _`Ubuntu chapter`:
2 |
3 | Ubuntu
4 | =======
5 |
6 | This page gives some information about Ubuntu_
7 |
8 |
9 | Installation
10 | ------------
11 |
12 | If you use some editors like LibreOffice you might be interested in installing
13 | True Type Font available on Windows. This will bring "Arial" and
14 | "Times New Roman" for instance. Otherwise you might have problems when
15 | vizualizing document on Windows and Ubuntu. ::
16 |
17 | sudo apt-get install ttf-mscorefonts-installer
18 |
19 |
20 | .. ...........................................................................
21 |
22 | .. _Ubuntu:
23 | http://www.ubuntu.com/
--------------------------------------------------------------------------------
/docs/useocl/docs/Demo.use:
--------------------------------------------------------------------------------
1 | -- $ProjectHeader: use 0.393 Wed, 16 May 2007 14:10:28 +0200 opti $
2 |
3 | model Company
4 |
5 | -- classes
6 |
7 | class Employee
8 | attributes
9 | name : String
10 | salary : Integer
11 | end
12 |
13 | class Department
14 | attributes
15 | name : String
16 | location : String
17 | budget : Integer
18 | end
19 |
20 | class Project
21 | attributes
22 | name : String
23 | budget : Integer
24 | end
25 |
26 | -- associations
27 |
28 | association WorksIn between
29 | Employee[*]
30 | Department[1..*]
31 | end
32 |
33 | association WorksOn between
34 | Employee[*]
35 | Project[*]
36 | end
37 |
38 | association Controls between
39 | Department[1]
40 | Project[*]
41 | end
42 |
43 | -- OCL constraints
44 |
45 | constraints
46 |
47 | context Department
48 | -- the number of employees working in a department must
49 | -- be greater or equal to the number of projects
50 | -- controlled by the department
51 | inv MoreEmployeesThanProjects:
52 | self.employee->size >= self.project->size
53 |
54 | context Employee
55 | -- employees get a higher salary when they work on
56 | -- more projects
57 | inv MoreProjectsHigherSalary:
58 | Employee.allInstances->forAll(e1, e2 |
59 | e1.project->size > e2.project->size
60 | implies e1.salary > e2.salary)
61 |
62 | context Project
63 | -- the budget of a project must not exceed the
64 | -- budget of the controlling department
65 | inv BudgetWithinDepartmentBudget:
66 | self.budget <= self.department.budget
67 |
68 | -- employees working on a project must also work in the
69 | -- controlling department
70 | inv EmployeesInControllingDepartment:
71 | self.department.employee->includesAll(self.employee)
72 |
--------------------------------------------------------------------------------
/docs/useocl/docs/OCL-Specification-formal-14-02-03.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/useocl/docs/OCL-Specification-formal-14-02-03.pdf
--------------------------------------------------------------------------------
/docs/useocl/docs/README.examples.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/useocl/docs/README.examples.txt
--------------------------------------------------------------------------------
/docs/useocl/docs/UMLOCL-CheatSheet-18.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/useocl/docs/UMLOCL-CheatSheet-18.pdf
--------------------------------------------------------------------------------
/docs/useocl/docs/examples/.gitignore:
--------------------------------------------------------------------------------
1 | # use GUI generated files
2 | *.clt
3 | *.slt
4 |
--------------------------------------------------------------------------------
/docs/useocl/docs/examples/CoffeeDispenser.use:
--------------------------------------------------------------------------------
1 | model CoffeeDispenser
2 |
3 | -- A simple class for a coffee dispenser.
4 | -- see http://useocl.sourceforge.net/w/index.php/Protocol_State_Machines
5 |
6 | class CoffeeDispenser
7 | attributes
8 | /* This attribute stores the money inserted into
9 | the dispenser.
10 | It is initialized with 0 during creation.*/
11 | amount : Integer
12 | init = 0
13 |
14 | operations
15 |
16 | /* A coin is inserted into the dispenser.
17 | Valid coins are: 10,20,50,100 and 200. */
18 | accept(i:Integer)
19 | begin
20 | self.amount := self.amount + i;
21 | end
22 | pre: let validCoins = Set{10,20,50,100,200} in validCoins->includes(i)
23 |
24 | /* A coffee should be brewed. Note, that there is
25 | * no pre condition. The state machine below handles
26 | * the correct amount.*/
27 |
28 | -- get the coffee
29 | brew()
30 | begin
31 | WriteLine('Your coffee is ready');
32 | self.amount := 0
33 | end
34 |
35 | -- Return the coins currently in the dispenser
36 | reset()
37 | begin
38 | self.amount := 0;
39 | end
40 |
41 | statemachines
42 | /* This state machine describes the
43 | * "lifecycle" of the coffee dispenser.
44 | */
45 | psm Usage
46 | states
47 | -- The start node
48 | startUp : initial
49 |
50 | -- The initial state after creation.
51 | noCoins [amount = 0]
52 |
53 | -- Some coins were inserted, but not enough.
54 | hasCoins [amount > 0 and amount < 100]
55 |
56 | -- Enough coins, ready to brew.
57 | enoughCoins [amount >= 100]
58 |
59 | transitions
60 | -- Define the first state after creation.
61 | startUp -> noCoins
62 |
63 |
64 | -- A coin was inserted, but it wasn't enough.
65 | noCoins -> hasCoins
66 | { [i > 0 and amount < 100] accept() }
67 |
68 | -- Enough money was inserted.
69 | noCoins -> enoughCoins
70 | { [i > 0 and amount >= 100] accept() }
71 |
72 | -- Abort
73 | hasCoins -> noCoins
74 | { reset() }
75 |
76 | -- Enough money was inserted.
77 | hasCoins -> enoughCoins
78 | { [i + amount >= 100] accept() }
79 |
80 | -- Another coin was inserted, but it wasn't enough.
81 | hasCoins -> hasCoins
82 | { [i + amount < 100] accept() }
83 |
84 | -- Abort
85 | enoughCoins -> noCoins { reset() }
86 |
87 | -- Brew coffee, no change ;-)
88 | enoughCoins -> noCoins { brew() }
89 | end
90 | end
91 |
92 |
93 |
94 |
--------------------------------------------------------------------------------
/docs/useocl/docs/examples/SOILByExample.soil:
--------------------------------------------------------------------------------
1 | -- ? for queries, ! for actions, commands: open, check, quit, info, help...
2 | open -q background.soil -- include a file
3 | ? Set{2,3}->including(7) -- OCL query
4 | ! b1 := new Banana ; chita := new Animal -- object creation
5 | ! insert(chita,b1) into Eats -- link creation
6 | ! d := new Dislike between (chita,b1) -- object-link creation (class association)
7 | ! b1.length := 20 -- attribute assignment
8 | ? b1.smash()+' are nices' -- call of a query (defined in OCL)*
9 | ! destroy d -- object/object-link destruction
10 | ! delete (chita,b1) from Eats -- link destruction
11 | ! Write('jungle'+(4+2).toString()) ; WriteLine('') -- output
12 | -- ! r := ReadLine() ; i := ReadInteger() ; -- input
13 | ! if not (b1.length=20) then WriteLine('error1') end -- if then else
14 | ! for i in Sequence{1..4} do b := new Banana ; insert(chita,b) into Eats end
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/docs/useocl/docs/examples/TollCollect.use:
--------------------------------------------------------------------------------
1 | -- adapted from distrib file test/t119.use
2 |
3 | ------------------------------------------------------ model TollCollect
4 | model TollCollect
5 | ------------------------------------------------------------ class Truck
6 |
7 | class Truck
8 | attributes
9 | num:String
10 | init: ''
11 | trips:Sequence(Point)
12 | init: Sequence{}
13 | debt:Integer
14 | init: 0
15 | operations
16 | init(aNum:String)
17 | begin
18 | self.num:=aNum
19 | end
20 | enter(entry:Point)
21 | begin
22 | insert (self,entry) into Current ;
23 | self.debt:=1 ;
24 | self.trips:=self.trips->including(self.current) ;
25 | end
26 | move(target:Point)
27 | begin
28 | self.trips:=self.trips->including(target) ;
29 | self.debt:=self.debt+1 ;
30 | delete (self,self.current) from Current ;
31 | insert (self,target) into Current ;
32 | end
33 | pay(amount:Integer)
34 | begin
35 | self.debt:=self.debt-amount
36 | end
37 | bye():Integer
38 | begin
39 | delete (self,self.current) from Current ;
40 | result:=self.debt.abs() ;
41 | self.debt:=0 ;
42 | end
43 | ----------------------------------------------------------------------
44 | numIsKey():Boolean =
45 | Truck.allInstances()->forAll(self,self2|
46 | self<>self2 implies self.num<>self2.num)
47 | ----------------------------------------------------------------------
48 | statemachines
49 | psm TruckLife
50 | states
51 | prenatal:initial
52 | born [num='']
53 | noDebt [num<>'' and current->isEmpty]
54 | debt [num<>'' and current->notEmpty]
55 | transitions
56 | prenatal -> born { create }
57 | born -> noDebt { init() }
58 | noDebt -> debt { enter() }
59 | debt -> debt { move() }
60 | debt -> debt { pay() }
61 | debt -> noDebt { bye() }
62 | end
63 | end
64 |
65 |
66 |
67 | ------------------------------------------------------------ class Point
68 | class Point
69 | attributes
70 | name:String
71 | init: ''
72 | isJunction:Boolean
73 | derived: north->union(south)->size()>=2
74 | operations
75 | init(aName:String)
76 | begin
77 | self.name:=aName
78 | end
79 | northConnect(aNorth:Point)
80 | begin
81 | insert (aNorth,self) into Connection
82 | end
83 | southConnect(aSouth:Point)
84 | begin
85 | insert (self,aSouth) into Connection
86 | end
87 | ----------------------------------------------------------------------
88 | northPlus():Set(Point)=Set{self}->closure(p|p.north)
89 | southPlus():Set(Point)=Set{self}->closure(p|p.south)
90 | ----------------------------------------------------------------------
91 | nameIsKey():Boolean =
92 | Point.allInstances->forAll(self,self2|
93 | self<>self2 implies self.name<>self2.name)
94 | noCycles():Boolean=
95 | Point.allInstances->forAll(self|
96 | not(self.northPlus()->includes(self)))
97 | ----------------------------------------------------------------------
98 | statemachines
99 | psm PointLife
100 | states
101 | prenatal:initial
102 | born [name=null]
103 | growing [name<>null]
104 | transitions
105 | prenatal -> born { create }
106 | born -> growing { init() }
107 | growing -> growing { northConnect() }
108 | growing -> growing { southConnect() }
109 | end
110 | end
111 |
112 | ---------------------------------------------------- association Current
113 | association Current between
114 | Truck[0..*] role truck
115 | Point[0..1] role current
116 | end
117 | ------------------------------------------------- association Connection
118 | association Connection between
119 | Point[0..*] role north
120 | Point[0..*] role south
121 | end
122 |
123 | ------------------------------------------------------------ constraints
124 | constraints
125 | ------------------------------------------------------------- invariants
126 | context Truck
127 | inv numIsKeyInv:
128 | numIsKey()
129 |
130 |
131 | context Point
132 | inv nameIsKeyInv:
133 | nameIsKey()
134 | inv noCyclesInv:
135 | noCycles()
136 |
137 | ------------------------------------------------------------ Point::init
138 | context Point::init(aName:String)
139 | pre freshPoint:
140 | self.name='' and self.north->isEmpty and self.south->isEmpty
141 | post nameAssigned:
142 | aName=self.name
143 | post allPointInvs:
144 | nameIsKey() and noCycles()
145 |
146 | ---------------------------------------------------- Point::northConnect
147 | context Point::northConnect(aNorth:Point)
148 | pre aNorthDefined:
149 | aNorth.isDefined
150 | pre freshConnection:
151 | self.north->excludes(aNorth) and self.south->excludes(aNorth)
152 | pre notSelfLink:
153 | self<>aNorth
154 | pre noCycleIntroduced:
155 | aNorth.northPlus()->excludes(self)
156 | post connectionAssigned:
157 | self.north->includes(aNorth)
158 | post allPointInvs:
159 | nameIsKey() and noCycles()
160 |
161 | ------------------------------------------------------------ Truck::init
162 | context Point::southConnect(aSouth:Point)
163 | pre aSouthDefined:
164 | aSouth.isDefined
165 | pre freshConnection:
166 | self.south->excludes(aSouth) and self.south->excludes(aSouth)
167 | pre notSelfLink:
168 | self<>aSouth
169 | pre noCycleIntroduced:
170 | aSouth.southPlus()->excludes(self)
171 | post connectionAssigned:
172 | self.south->includes(aSouth)
173 | post allPointInvs:
174 | nameIsKey() and noCycles()
175 |
176 | ------------------------------------------------------------ Truck::init
177 | context Truck::init(aNum:String)
178 | pre freshTruck:
179 | self.num='' and self.trips=Sequence{} and self.debt=0 and
180 | self.current->isEmpty
181 | post numAssigned:
182 | aNum=self.num
183 | post allTruckInvs:
184 | numIsKey()
185 |
186 | ----------------------------------------------------------- Truck::enter
187 | context Truck::enter(entry:Point)
188 | pre noDebt:
189 | 0=self.debt
190 | pre currentEmpty:
191 | self.current->isEmpty
192 | post debtAssigned:
193 | 1=self.debt
194 | post currentAssigned:
195 | entry=self.current
196 | post allTruckInvs:
197 | numIsKey()
198 |
199 | ------------------------------------------------------------ Truck::move
200 | context Truck::move(target:Point)
201 | pre currentExists:
202 | self.current->notEmpty
203 | pre targetReachable:
204 | self.current.north->union(self.current.south)->includes(target)
205 | post debtIncreased:
206 | self.debt@pre+1=self.debt
207 | post tripsUpdated:
208 | self.trips@pre->including(target)=self.trips
209 | post currentAssigned:
210 | target=self.current
211 | post allTruckInvs:
212 | numIsKey()
213 |
214 | ------------------------------------------------------------- Truck::pay
215 | context Truck::pay(amount:Integer)
216 | pre amountPositive:
217 | amount>0
218 | pre currentExists:
219 | self.current->notEmpty
220 | post debtReduced:
221 | (self.debt@pre-amount)=(self.debt)
222 | post allTruckInvs:
223 | numIsKey()
224 |
225 | ------------------------------------------------------------- Truck::bye
226 | context Truck::bye():Integer
227 | pre currentExists:
228 | self.current->notEmpty
229 | pre noDebt:
230 | self.debt<=0
231 | post resultEqualsOverPayment:
232 | self.debt@pre.abs()=result
233 | post zeroDebt:
234 | self.debt=0
235 | post currentEmpty:
236 | self.current->isEmpty
237 | post allTruckInvs:
238 | numIsKey()
239 | ------------------------------------------------------------------------
240 |
--------------------------------------------------------------------------------
/docs/useocl/docs/examples/USEByExample.use:
--------------------------------------------------------------------------------
1 | model JungleExample
2 | -- ========================== Enumerations =====================================
3 | enum Season {winter, autumn, spring, summer}
4 | -- ========================== Classes ==========================================
5 | class Fruit end -- Classes used below
6 | abstract class ForestThing end -- abstract classes cannot be instanciated
7 | class Animal end
8 |
9 | -- Class, Inheritance, Attributes, Operations, Local constraints
10 | class Banana < Fruit, ForestThing
11 | attributes
12 | length : Integer /* Integer, Real, Boolean, String */
13 | growthTime : Season
14 | -- Tuple, Bag, Set, OrderedSet, Sequence
15 | goodies : OrderedSet(Bag(Sequence(Set(TupleType(x:Integer,y:Real,z:String)))))
16 | -- Attribute initialisation
17 | remainingDays : Integer
18 | init: 0
19 | -- Derived attribute
20 | size : Real
21 | derived: self.length * self.remainingDays
22 | -- RESTRICTION/std: No invariants directly declared on attributes
23 | -- RESTRICTION/std: No cardinality supported for attributes (e.g. String[0..1])
24 | operations
25 | wakeUp(n : Integer):String -- operation specified
26 | pre notTooMuch: n > 10 and n < self.length -- precondition
27 | post growing: result > 'anaconda' -- postcondition
28 | helloJungle() : String -- operation with soil actions
29 | begin
30 | declare x : Banana ;
31 | WriteLine('hello') ;
32 | x := new Banana ;
33 | self.length := self.length + self.remainingDays*20+3 ;
34 | result := 'jungle' ;
35 | destroy x ;
36 | end
37 | post growing: self.length > self.length@pre -- @pre(vious) value
38 | smash() : String -- operation/query defined in OCL
39 | = 'li'+'ons' -- derived/query operation defined as anOCL expression
40 | constraints
41 | -- invariants
42 | inv growthSeasons: self.growthTime <> Season::winter
43 | end -- end of class Banana
44 | -- ========================== Associations =====================================
45 | -- Associations, Roles, Cardinality
46 | association Eats between -- 'association' or 'composition' or 'aggregation'
47 | Animal[*] role eater -- could be followed by 'ordered'
48 | Banana[1] role food -- cardinality can be [1..8,10,15..*]
49 | -- ... -- more roles here for n-ary associations
50 | end
51 | -- Association classes
52 | associationclass Dislike between
53 | Animal [0..1] role animal
54 | Banana[1..*] role bananas
55 | attributes -- operations can be declared as well
56 | reason : String
57 | end
58 | -- Qualified associations
59 | association Prefers between
60 | Animal [*] role animals qualifier (period:Season)
61 | Fruit[0..1] role candy
62 | end
63 | -- ========================== External Constraints =============================
64 | constraints
65 | context Banana -- Constraints on Classes
66 | inv atLeastOne: Banana.allInstances()->size()>1
67 | context self:Banana -- Constraints on Attributes
68 | inv largeEnough: self.length > 3
69 | context Banana::wakeUp(n:Integer):String -- Constraints on Operations
70 | -- Constraints on Operations
71 | pre justOk: self.length < 1000 and n > 12
72 | post notTiger: result <> 'tiger'
73 |
74 |
75 | class DateTime
76 | attributes
77 | nbOfMinutes : Integer
78 | operations
79 | day():Integer = self.nbOfMinutes div (24*60)
80 | hour():Integer = (self.nbOfMinutes).mod(24*60) div 60
81 | minute():Integer = self.nbOfMinutes.mod(60)
82 | setTime(day:Integer,hour:Integer,minute:Integer)
83 | begin
84 | self.nbOfMinutes := (day*24+hour)*60+minute
85 | end
86 | toString():String
87 | = 'Day #'+self.day().toString()
88 | +' '+self.hour().toString()+':'+self.minute().toString()
89 | minutesFrom(d:DateTime):Integer
90 | = self.nbOfMinutes - d.nbOfMinutes
91 | end
92 |
93 | class Environment
94 | attributes
95 | now : DateTime
96 | operations
97 | assert(message:String,condition:Boolean)
98 | begin
99 | if not condition then
100 | WriteLine('AssertionError: '+message)
101 | end
102 | end
103 | end
104 |
--------------------------------------------------------------------------------
/docs/useocl/docs/examples/association-1.soil:
--------------------------------------------------------------------------------
1 | ! tian := new Person('tian')
2 | ! c232 := new Car('c232')
3 | ! insert(tian,c232) into Owns
4 |
--------------------------------------------------------------------------------
/docs/useocl/docs/examples/association.use:
--------------------------------------------------------------------------------
1 | model AssociationExample
2 |
3 | class Car end
4 | class Person end
5 |
6 | association Owns between
7 | Person [1] role owner
8 | Car[*] role ownedCars
9 | end
10 |
--------------------------------------------------------------------------------
/docs/useocl/docs/examples/association_class.use:
--------------------------------------------------------------------------------
1 | model jungle_association_class
2 |
3 | class Monkey
4 | end
5 |
6 | class Snake
7 | end
8 |
9 | associationclass Hate between
10 | Monkey [*] role monkeys
11 | Snake [*] role snakes
12 | attributes
13 | reason : String
14 | intensity : Integer
15 | operations
16 | increase()
17 | end
--------------------------------------------------------------------------------
/docs/useocl/docs/examples/background.soil:
--------------------------------------------------------------------------------
1 | -- comment
2 | ? 2+3
3 |
--------------------------------------------------------------------------------
/docs/useocl/docs/examples/ex1.soil:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | --- SOIL ---------------------------------------------------------------
5 | -- see http://useocl.sourceforge.net/w/index.php/SOIL
6 |
7 | -- Object creation
8 | -- v := new c [(nameExpr)]
9 | -- new c [(nameExpr)] -- create an object like c1, c2 (uppercase...)
10 | -- create v1,...,vn:c
11 |
12 | -- Link object creation (association class)
13 | -- v := new c [(nameExpr)] between (participant1,participant2,...)
14 | -- create v1 : c between (participant1, participant2, ...)
15 |
16 | -- Object destruction
17 | -- destroy e
18 |
19 | -- Link creation
20 | -- insert (e1; ... ; en) into a j
21 |
22 | -- Link destruction
23 | -- delete (e1; ... ; en) from a j
24 |
25 | -- Attribut assignement
26 | -- e1.a := e2
27 |
28 | -- Variable assignment
29 | -- v := e
30 |
31 | -- Operation call
32 | -- [v :=} e1.op(e2; ... ; en)
33 |
34 | -- Block of statement
35 | -- [begin] s1; ... ; sn [end]
36 |
37 | -- [declare v1 : t1; ... ; vn : tn]
38 |
39 | -- if e then s1 [else s2] end
40 | -- for v in e do s end
41 |
42 |
43 | -- Write('Enter your name: ')
44 | -- aName := ReadLine()
45 | -- Write('Enter your age:')
46 | -- aAge := ReadInteger()
47 | -- Write('Enter your name:')
48 | -- WriteLine('Hello ' + aName + '!')
49 |
--------------------------------------------------------------------------------
/docs/useocl/docs/examples/ex1.use:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | /*
10 | -- !create mySalad : FruitSalad between (aBanana,myNewApple)
11 |
12 | association MapTiles between
13 | Map[1] role map
14 | qualifier (x:Integer, y:Integer)
15 | Tile[0..1] role tiles
16 | end
17 | -- !insert (aMap{1,1}, aTile) into MapTiles
18 | -- ? aMap.tiles[1,1]
19 |
20 | */
21 |
22 |
23 |
24 |
25 |
26 |
27 | -- TODO: add to course ->closure -- introduced with OCL 2.3.
28 | -- ->oclAsType, ->oclIsKindOf
29 | -- ->sortedBy()
30 | -- Set(Integer)[}
31 |
32 | -- COMMANDS
33 | -- reopen
34 | -- coverage
35 |
36 |
37 | -- TODO: check what this means
38 | -- * It is now possible to optionally specify the source end in
39 | -- navigation with `