Skip to content

CapstoneLogHaowenShi

HaowenShi edited this page Mar 9, 2020 · 6 revisions

Each Capstone 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

Log Entries

March 2nd - March 6th

Stuck in issue #1517 1-c: It is slightly darker when the tabs are active' and lighter when they are not (same as the A, M and other buttons.

Problem 1:

When do js changes in the umple_page.js and umple_action.js file, there is no update in the allumple-min.js file.

Solutions:

a. Install Graphviz.

brew install graphviz

b. Install yuicommpressor (which is needed by step c below). The following shows how to do it on a Mac.

brew install yuicompressor 

c. (repeated after every local build as needed): Give UmpleOnline access to your changes.

When you modify UmpleOnline or the compiler, you will need to ensure that Jars are properly installed for your local version of UmpleOnline and that the Javascript is compressed using yuicompressor. The following does this.

ant -DshouldPackageUmpleOnline=true -Dmyenv=local -f build.umple.xml packageUmpleonline

Problem 2:

'Tabs' button is different from 'T''D''A''M' buttons(mechanism). It needs to rework as a separate button. Still looking for method for that.

<span style="font-size: 30%; white-space:nowrap;">
<a class="button2" href="javascript:Page.toggleTabs()" title="Toggle tab visibility">Tabs</a>&nbsp;
</span>

The mechanism is that:

When click the button, Page.toggleTabs() method is called (umple_page.js) and toggles tab visibility.

Page.toggleTabs = function()
{
  TabControl.isHidden()? TabControl.showTabs() : TabControl.hideTabs();
  Layout.layoutHandler.adjustAfterWindowResize();
}

February 2020

First task I work on is fixing issue #1517 - Adjustments to the UmpleOnline main page.

There are four subtasks.

  1. Change the 'Toggle Tabs' so

a. it is left of the 'Generate Java' (done): change the code order of the 'Toggle Tabs' behind of 'Generate Java'

b. It just says 'Tabs' (done):

<span style="font-size: 30%; white-space:nowrap;">
 <a class="button2" href="javascript:Page.toggleTabs()" title="Toggle tab visibility">Tabs</a>&nbsp;
</span>

c. It is slightly darker when the tabs are active' and lighter when they are not (same as the A, M and other buttons. (not work well)

  1. Change 'Create Bookmarkable URL' to 'Save as URL' (done)
<a class="button2" id="topBookmarkable" href="javascript:Page.createBookmark()" title="Create a URL for this model that will allow you to come back and edit again. The URL will persist for a year after its last edit.">Save as URL</a>
  1. Change 'Run in Docker for speed, or download' to simply 'Download'. Also take out 'from models' on the first line. This will save some space for the next item (done)
<a class="button2" href="http://dl.umple.org" target="dlpage" title="Go to the page that gives instructions on how to download Umple for use in Docker, or Eclipse or on the command line">Download</a>&nbsp;
  1. At the bottom, where it says '99999 visits since October 2018 | 9999000 commands run since July 2019' change so it lists thousands, millions instead of giving the full number, in the following format '240 K visits since October 2018 | 1.44 million commands run since July 2019' (need the customer to test)
if ($count>=1000 && $count<1000000) {
        $count_new=number_format((float)$count/1000, 2, '.', '');
        echo "$count_new" ;
	echo " K visits since October 2018" ;
}
elseif ($count>=1000000) {
	$count_new=number_format((float)$count/1000000, 2, '.', '');
	echo "$count_new" ;
	echo " million visits since October 2018" ;
}
else {
	$count_new=$count;
	echo "$count_new" ;
	echo " visits since October 2018" ;
}
if ($count>=1000 && $count<1000000) {
	$count_new=number_format((float)$count/1000, 2, '.', '');
	echo " | $count_new K commands run since July 2019" ;
}
elseif ($count>=1000000) {
	$count_new=number_format((float)$count/1000000, 2, '.', '');
	echo " | $count_new million commands run since July 2019" ;
}
else {
	$count_new=$count;
	echo " | $count_new commands run since July 2019" ;
}

The instructions work with git

After making changes (WHATEVER is each file changed/added)

git add WHATEVER

Do regular git pulls to bring in other changes that have happened (and merge if need)

git pull

Do a full build if changing Umple code and/or thoroughly test UmpleOnline.

When changes are ready do what is shown below. The status check is to verify you have added everything

NEWBRANCH is a meaningful branch name. Ideally it includes the issue number

DESCRIPTION is a short but meaningful few words about what is being done

use [ci skip] in the description to skip building in Travis if just readme or man page change

git status
git checkout -b NEWBRANCH
git commit -m 'DESCRIPTION'
git push --set-upstream origin NEWBRANCH

At this point, go to http://code.umple.org and you should see a message saying that you can create a PR

To later update the PR (e.g. after fixing tests, or making changes after code review), just do git push from your branch

After your PR is merged make sure you get out of your now-obsolete branch.

git checkout master
git pull
Clone this wiki locally