Join GitHub today
Each UCOSP participant is asked to log all the steps they take as they make progress through the semester. This includes difficulties they faced (getting set up, understanding how to model in Umple, using UmpleOnline, code that is difficult to figure out, and development tools that are hard to figure out, or don't seem to work properly). The more log entries added the more we can better get a grip on the usability issues with Umple, and the more we can help future new contributors come up to speed.
Please record entries in reverse chronological order
November 24 2015
I ran into a setback this week. That coupled with an exam + speech I had to present last week meant I couldn't progress. The setback is that I made an entirely new mode to accommodate highlighting class definitions green, but did not realize there was already a mode for umple found in the clike.js file. My new mode overwrote the old functionality (which was just highlighting umple syntax in purple). However the existing mode was wrapped in a DefineMIME function rather than DefineMode which is something I've never seen before with CodeMirror. I scoured the documentation and could not find what the difference was between these two functions since they took the same arguments and there was no explanation for DefineMIME, only for DefineMode. So I scoured the internet for examples of this function in use.
I came across A CodeMirror Mode for mIRC language that helped me out. I believe I can actually use DefineMIME and pass in a function as the mode definition argument and it would work the same way as DefineMode, it just skips a step in declaring the MIME type. I'm now looking at how I can edit the existing umple node to accommodate my new functionality, using the mIRC example as a base. A more simple example of a mode I've used is found here at StackOverflow.
November 17 2015
Issue 221. Working on Point 4 - all class references should be highlighted light green. To do this I have an idea that a list of all classes when first defined should be stored (as an extension of what I worked on on the 14th), then something can be used to recurse through and highlight each of these classes light green when found in the document. I'm looking at Match Highlighting right now but unsure if this is the right tool for the task.
November 14 2015
Looking at Issue 221. I am working on Point 4. Using the Mode Keyword I created a Mode for Class definitions and made it highlight each class definition green with css. This is only one part of Point 4. Will work on highlighting classname references light green.
November 3 2015
Fixed issues with 411 brought up by Timothy in latest commit. Reading documentation for CodeMirror.
Edit: Here is a more in depth explanation of how I fixed the issue with the zip file link being broken. The zip should contain the original code and should just appear with every tab as it would when the "Show Tabs" checkbox isn't selected -- this is what Timothy instructed. So I wanted to keep the zip link the same across all tabs, but I found that whenever a new tab was being clicked, it would erase the contents of the div element "MessageArea" which contained the zip link. I hard-coded the zip link with a fixed filename and wanted to make it dynamic, but never got around to doing this which was why the link was broken. This was a temporary solution to the bigger problem.
October 28 2015
Finished workaround for TextUml language option. Submitted new changes to pull request for review.
October 27 2015
The "Show Tabs" checkbox should not appear for languages that aren't Java/Php/Ruby/C++, so I've done that. However TextUml will still show the "Show Tabs" checkbox because in the dropdown it's value is listed as Java:TextUml, so it is treated as Java language. I am currently working on a workaround for this.
October 23-25 2015
Generated tabs when the "Generate Code" button is pressed rather than when the "Show Tabs" checkbox is checked off which fixed issue 3 and made issue 4 and 5 easy to include.
Received clarification from Timothy on Points 0 and Point 2 and have adjusted the PlayGroundMainTest appropriately. I had another question about this and am awaiting a reply from Timothy before I proceed with the pull request.
October 20 2015
Fixed Point 5 in failed Pull Request for Issue 411. Still looking at 3 and 4. Realizing I will need to generate the tabs contents when the "Generate Code" button is pressed, not when the "Show Tabs" checkbox is checked to get rid of these issues. Haven't had time recently since I was studying for a midterm but hopefully I can get this fixed for tomorrow/Thursday and remake the pull request.
October 17 2015
Fixed Point 1 and 2 in failed Pull Request for Issue 411. Looking into the bug mentioned in Point 3.
October 15 2015
I created a pull request for issue #411. I ran into problems since the repository I was working with had been cloned from umple/umple.git and not a forked repository. So I forked it to my GitHub account then attempted to clone that repository. But my Virtual Machine ran out of disk space. So I spent some time figuring out how to increase the disk space. Eventually I got it working. I made a branch of my forked repository, committed and pushed my changes to the branch, then made the pull request.
I noticed the check is failing in the pull request though. I did build and test the changes I made on my localhost and everything seems fine. I am not sure why the check is failing.
October 12 2015
Read through Aymen and Kevin's conversation about Pull Requests in preparation for making my Pull Request today or tomorrow for Issue #411. Looking into css changes I mentioned last update.
EDIT: Noticed a bug. At the end of each file's code block, the very last line, there's a bit of garbage html being outputted. For example, at the end of SpecificFlight.java in the Airline example you see
</employeerole></employeerole></booking></booking>.... I am looking into why this is showing up.
October 10 2015
Continuing work on Issue #411. I modified the page such that the "Show Tabs" checkbox is not always checked on on page load.
The css could possibly use some improvement, maybe a header above each code block to be explicit about which file is being shown, or the button being coloured differently. Also I'm using buttons when they should really be "tabs" so I want to change the css to represent that fact.
October 6 2015
I've been busy with school since I had 2 midterms between the last log update and now, and another one this Thursday. However I have had some time to look at Issue #411 again. Previously, the buttons only displayed "File 1", "File 2", and so on so fourth, but I did a regex to find the filename within the generated code and use that for the button text, so it's a little more helpful for anyone using the feature.
September 29 2015
I made more progress on Issue #411. Now that I separated each files with // %% NEW FILE in the output string, I established that there are two ways to split up the files into separated tabs:
Use AJAX to recall umplesync.jar with an argument that will output the sourcecode as a bunch of files in the form of an array. Then just output each element of the array in a new tab. Every time the "Show Tabs" checkbox is checked off, this AJAX will be recalled.
September 25 2015
I've been working on Issue #411. What I've done so far is separate the files in which the generated code is outputted. Each file is separated with a %% symbol followed by a message "filename BEGIN". I have also added the "Show Files in Separate Tabs" checkbox just below the "Generate Code" button.
September 18 2015
I attempted to setup UmpleOnline locally using the instructions found on this link. I was receiving an error on line 73 of compiler.php, stating that $_REQUEST["languageStyle"] was undefined. This didn't help much so Timothy instructed me to check the model.ump.erroroutput file for the temporary model I was trying to compile. I received the error:
Error: Unable to access jarfile umplesync.jar
After running the following command in my build directory:
ant -DshouldPackageUmpleOnline=true -Dmyenv=local -f build.umple.xml packageUmpleonline
My UmpleOnline was up and running after that. Which was great since I could begin working on the issue I just picked out (#411).
Implementing the feature listed in Issue #411 will allow the user to choose between glomming all files from the generated code together as one, or displaying them in separate tabs. I'll need to create a radio button to give the user the option, and if the "Tabs" option is selected, I will need to parse the output and tokenize it into separate files. I have a good idea of how this will be done since I am familiar with both Java and php.
September 16 2015
Timothy explained that the error I received below is indicative of running an older version of java with the newer version of ant. Sure enough, I checked my Java version and it was still Java 7. When I compiled in Java 8, the build ran successfully. I did receive an error about rake not being found, but after I installed rake it went away, so that was a minor setback. I will attempt to build with eclipse later tonight and report the results.
Edit: Attempted to set up Eclipse. On Step 4, where the Development Setup page says:
Go to the "Projects" Tab and add the project (1) cruise.umple.nebula and (2) jopt-simple.
When I do this, I do not see jopt-simple and can only select cruise.umple.nebula. I am not sure if this is a problem.
When finishing step 4, I still receive 859 errors and 1098 warnings in my cruise.umple project.
September 16 2015
I managed to fix the issue I've been having by updating JDK. However, after running the first build on the command line I receive these errors:
BUILD FAILED /home/adam/Documents/umple/umple/build/build.umple.xml:486: The following error occurred while executing this line: /home/adam/Documents/umple/umple/build/build.deps.xml:107: java.lang.UnsupportedClassVersionError: cruise/umple/util/UmplecAntTask : Unsupported major.minor version 52.0
I pulled the latest repository files and tried the bootstrap command again. Still, when running the first build command I receive the same errors.
September 8 2015
I read through the suggested wiki pages and made some examples using UmpleOnline. I then begun working on the development setup. I first had to install VirtualBox to run Ubuntu since I have Windows 7 on my laptop. The virtual machine runs quite slow on my laptop, so I might need to look into an alternative solution.
I ran into problems on Step 2b. of the Development Setup. I received the error:
Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-7-openjdk-amd64/lib/tools.jar Buildfile: build.xml does not exist! Build failed
However, the build continued after this. I think my Apache Ant isn't setup correctly but I'm not sure how to fix it.
When trying to build umple.cruise in eclipse I get about 6000 errors, and I'm assuming the errors are related to the ones in 2b.