├── .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 | 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 | 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 | 161 | 162 | github.xml 163 | 164 | 165 | 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 `.[]'. This is 40 | -- necessary when a navigation is ambiguous (regards reflexive ternary 41 | -- associations and association classes). 42 | 43 | /* 44 | 45 | 46 | Existential Invariants 47 | """""""""""""""""""""" 48 | 49 | "Existential" invariants are checked only if there is at least one instance 50 | of a given context. They are marked as "existential":: 51 | 52 | context Person existential inv bossExists: 53 | self.isBoss = true 54 | 55 | When no instance of a person is created or no boss exists this invariant will 56 | evaluate to false (instead of regular invariants, where the expression will 57 | evaluate to true, if no person is instantiated).:: 58 | 59 | context Person existential inv bossExists: 60 | Person.allInstances()->exist(p | p.isBoss) 61 | 62 | Multiple Variables in Invariants 63 | """""""""""""""""""""""""""""""" 64 | Invariants can have multiple variables:: 65 | 66 | context p1, p2:Person inv nameUnique: 67 | p1.name = p2.name implies p1 = p2 68 | 69 | 70 | Null upcasted 71 | """"""""""""" 72 | 73 | The undefined value (null) can be "upcasted" by specifying a type:: 74 | 75 | null(Integer) 76 | 77 | This is the shorthand notation for:: 78 | 79 | let i:Integer = null in i 80 | */ 81 | -------------------------------------------------------------------------------- /docs/useocl/docs/examples/jungle_classes.use: -------------------------------------------------------------------------------- 1 | model jungle_class 2 | 3 | class Yellow 4 | end 5 | 6 | abstract class Something 7 | end 8 | 9 | abstract class Fruit < Something 10 | end 11 | 12 | class Banana < Fruit, Yellow 13 | end 14 | 15 | class Orange < Fruit 16 | end -------------------------------------------------------------------------------- /docs/useocl/docs/examples/qualified-association-1.soil: -------------------------------------------------------------------------------- 1 | ! petanque38 := new Association1901('petanque38') 2 | ! antonio := new Person('antonio') 3 | ! djamila := new Person('djamila') 4 | ! insert(petanque38{'president'},antonio) into APourDirigeant 5 | ! insert(petanque38{'secretaire'},antonio) into APourDirigeant 6 | ! insert(petanque38{'tresorier'},djamila) into APourDirigeant 7 | ? petanque38.dirigeant['president'] 8 | ? petanque38.dirigeant -------------------------------------------------------------------------------- /docs/useocl/docs/examples/qualified-association.use: -------------------------------------------------------------------------------- 1 | model TestQualifiedAssociation 2 | 3 | class Association1901 4 | end 5 | 6 | class Person 7 | end 8 | 9 | association APourDirigeant between 10 | Association1901[*] role associationsDirigees qualifier(titre:String) 11 | Person [0..1] role dirigeant 12 | end 13 | 14 | 15 | --association APourLaureat between 16 | -- Association1901[*] role associationsHonnorantes qualifier(annee:Integer) 17 | -- Person [1] role laureat 18 | --end 19 | -------------------------------------------------------------------------------- /docs/useocl/docs/examples/soil.soil: -------------------------------------------------------------------------------- 1 | -- file SOILByExample.use 2 | -- ? for query, ! for action, commands: open, check, quit, help... 3 | open -q background.soil 4 | ? Set{2,3}->including(7) 5 | ! b1 := new Banana 6 | ! b1.length := 20 7 | 8 | 9 | quit 10 | 11 | --- SOIL --------------------------------------------------------------- 12 | -- see http://useocl.sourceforge.net/w/index.php/SOIL 13 | 14 | -- Object creation 15 | -- v := new c [(nameExpr)] 16 | -- new c [(nameExpr)] -- create an object like c1, c2 (uppercase...) 17 | -- create v1,...,vn:c 18 | 19 | -- Link object creation (association class) 20 | -- v := new c [(nameExpr)] between (participant1,participant2,...) 21 | -- create v1 : c between (participant1, participant2, ...) 22 | 23 | -- Object destruction 24 | -- destroy e 25 | 26 | -- Link creation 27 | -- insert (e1; ... ; en) into a j 28 | 29 | -- Link destruction 30 | -- delete (e1; ... ; en) from a j 31 | 32 | -- Attribut assignement 33 | -- e1.a := e2 34 | 35 | -- Variable assignment 36 | -- v := e 37 | 38 | -- Operation call 39 | -- [v :=} e1.op(e2; ... ; en) 40 | 41 | -- Block of statement 42 | -- [begin] s1; ... ; sn [end] 43 | 44 | -- [declare v1 : t1; ... ; vn : tn] 45 | 46 | -- if e then s1 [else s2] end 47 | -- for v in e do s end 48 | 49 | 50 | -- Write('Enter your name: ') 51 | -- aName := ReadLine() 52 | -- Write('Enter your age:') 53 | -- aAge := ReadInteger() 54 | -- Write('Enter your name:') 55 | -- WriteLine('Hello ' + aName + '!') 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /docs/useocl/docs/examples/sys.use: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /docs/useocl/docs/examples/validate.cmd: -------------------------------------------------------------------------------- 1 | use -nogui -nr USEByExample.use %1 SOILByExample.soil -------------------------------------------------------------------------------- /docs/useocl/docs/use-demonstration.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/useocl/docs/use-demonstration.swf -------------------------------------------------------------------------------- /docs/useocl/docs/use-documentation.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/useocl/docs/use-documentation.pdf -------------------------------------------------------------------------------- /docs/useocl/docs/use-quick-tour.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/useocl/docs/use-quick-tour.pdf -------------------------------------------------------------------------------- /docs/useocl/media/OCLCheatSheet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/useocl/media/OCLCheatSheet.png -------------------------------------------------------------------------------- /docs/useocl/media/PyCharm4USEOCL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/useocl/media/PyCharm4USEOCL.png -------------------------------------------------------------------------------- /docs/useocl/media/RunConfiguration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/useocl/media/RunConfiguration.png -------------------------------------------------------------------------------- /docs/useocl/media/USECheatSheet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/useocl/media/USECheatSheet.png -------------------------------------------------------------------------------- /docs/useocl/media/USEOCL-ClassDiagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/useocl/media/USEOCL-ClassDiagram.png -------------------------------------------------------------------------------- /docs/useocl/media/USEOCL-gui.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/useocl/media/USEOCL-gui.jpg -------------------------------------------------------------------------------- /docs/useocl/media/USEOCL-shell.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/useocl/media/USEOCL-shell.jpg -------------------------------------------------------------------------------- /docs/useocl/media/USEOCL-video.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/useocl/media/USEOCL-video.jpg -------------------------------------------------------------------------------- /docs/useocl/media/USEOCLAssociationClassUSE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/useocl/media/USEOCLAssociationClassUSE.png -------------------------------------------------------------------------------- /docs/useocl/media/USEOCLAssociationSOIL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/useocl/media/USEOCLAssociationSOIL.png -------------------------------------------------------------------------------- /docs/useocl/media/USEOCLAssociationUSE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/useocl/media/USEOCLAssociationUSE.png -------------------------------------------------------------------------------- /docs/useocl/media/USEOCLClasses.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/useocl/media/USEOCLClasses.png -------------------------------------------------------------------------------- /docs/useocl/media/USEOCLQualifiedAssociationSOIL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/useocl/media/USEOCLQualifiedAssociationSOIL.png -------------------------------------------------------------------------------- /docs/useocl/media/USEOCLQualifiedAssociationUSE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ScribesZone/ScribesTools/94f58629f1a6df5a5d600bdbc7dcc2414f02023e/docs/useocl/media/USEOCLQualifiedAssociationUSE.png -------------------------------------------------------------------------------- /docs/useocl/res/GrepConsole.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 299 | 300 | -------------------------------------------------------------------------------- /docs/useocl/res/UseOCL.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /docs/useocl/res/checkScn001Razamanaz.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 13 | -------------------------------------------------------------------------------- /docs/windows/configuration.txt: -------------------------------------------------------------------------------- 1 | control panel 2 | folder options 3 | view 4 | "Show hidden files, folders and drives" -> ON 5 | "Hide extensions for known file types" -> OFF -------------------------------------------------------------------------------- /docs/windows/index.rst: -------------------------------------------------------------------------------- 1 | Windows 2 | ======= 3 | 4 | This page provides some hints about customizing windows. 5 | 6 | .. _windowsPath: 7 | 8 | Changing the PATH 9 | ----------------- 10 | 11 | There are different ways to change the PATH variable on windows and these 12 | techniques depends on the version of windows. Please have a look at this note 13 | |windows-path-hope| for instance. 14 | 15 | 16 | .. ............................................................................ 17 | 18 | .. |windows-path-hope| replace:: 19 | (`web `__) 20 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | Babel==1.3 2 | Jinja2==2.7.3 3 | MarkupSafe==0.23 4 | Pygments==2.0.2 5 | Sphinx==1.3.1 6 | alabaster==0.7.6 7 | colorama==0.3.3 8 | docutils==0.12 9 | pytz==2015.4 10 | six==1.9.0 11 | snowballstemmer==1.2.0 12 | sphinx-rtd-theme==0.1.8 13 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | from setuptools import setup 2 | 3 | setup(name='ScribesTools', 4 | version='0.1', 5 | description='A collection of useful tools for Software Engineering' 6 | ) --------------------------------------------------------------------------------