comparison DVN-web/installer/dvninstall/doc/guides/_sources/dataverse-developer-main.txt @ 6:1b2188262ae9

adding the installer.
author "jurzua <jurzua@mpiwg-berlin.mpg.de>"
date Wed, 13 May 2015 11:50:21 +0200
parents
children
comparison
equal deleted inserted replaced
5:dd9adfc73390 6:1b2188262ae9
1 ====================================
2 DVN Developers Guide
3 ====================================
4
5 Please note: This guide was updated in October 2013 to reflex the switch
6 from Ant to Maven in DVN 3.6.1.
7
8 Build Environment (Configuring NetBeans)
9 ++++++++++++++++++++++++++++++++++++++++
10
11 This chapter describes setting up the build environment that you will
12 need to build the DVN application from source code. 
13
14 Install NetBeans and GlassFish
15 ==============================
16
17 As of DVN version 3.6.1 and the switch to Maven, a DVN development
18 environment should not have any dependency on a particular IDE, but use
19 of NetBeans 7.2.1 is encouraged because it's the version used by most of
20 the current developers (on Mac OS X).
21
22 The NetBeans project is currently offering an installer bundle that
23 contains both NetBeans 7.2.1 and a supported version of GlassFish
24 (3.1.2.2). If they choose to discontinue the bundle, you will have to
25 download and install the two packages separately. Note that you can have
26 multiple versions of both NetBeans and GlassFish on your system.
27
28 Please note: While we intend to investigate NetBeans 7.4 and GlassFish
29 4, these are not yet known to provide a suitable development
30 environment.
31
32 We strongly recommend that you run both installs **as a regular user**. There's no reason to run your development environment as root.
33
34 Install NetBeans bundle
35 -----------------------
36
37 Download NetBeans 7.2.1 Java EE + GlassFish Open Source Edition 3.1.2.2
38 bundle from https://netbeans.org/downloads/7.2.1
39
40 For Mac OS X, you will download a .dmg disk image that will open
41 automatically and start the installer for you. Choose the typical
42 installation but be sure to install GlassFish and JUnit when prompted.
43
44 Note that you don't have to uninstall your existing NetBeans version.
45 You can have as many versions installed as you need in parallel.
46
47 When you start NetBeans 7.2.1 for the first time, you will be asked if
48 you want to import the settings from the previous installations. If you
49 have an existing, pre-DVN 3.\* development environment on your system, 
50 **answer "no" -- we want to create the new configuration from scratch.**
51
52 [If you have to] Install GlassFish 3.1.2.2
53 ------------------------------------------
54
55 We **strongly** recommend that you install GlassFish Server 3.1.2.2,
56 Open Source Edition, **Full Platform**. If you have to install it
57 separately from NetBeans, it can be obtained from
58 http://glassfish.java.net/downloads/3.1.2.2-final.html
59
60 The page above contains a link to the installation instructions, but the
61 process is very straightforward - just download and run the installer.
62
63 It is strongly recommended that you use Sun/Oracle Java JDK version 1.6.
64 Please make sure you have the newest (or at least, recent) build number
65 available for your platform. (On Mac OS X 10.8, since the JDK can be
66 installed as part of OS distribution, the version currently provided by
67 Apple should be sufficient). In other words, we do not recommend
68 building DVN under JDK 1.7 until the ticket regarding the move from Java
69 6 to 7 has been closed: https://redmine.hmdc.harvard.edu/issues/3306
70
71 Note that you don't have to uninstall older versions of GlassFish you
72 may still have around. It's ok to have multiple versions installed. But
73 make sure you have the 3.1.2.2 installation selected as the active
74 server in NetBeans.
75
76 **Important:** During the installation, leave the admin password fields
77 blank. This is not a security risk since out of the box, GlassFish
78 3.1.2.2 will only be accepting admin connections on the localhost
79 interface. Choosing a password at this stage, however, will complicate
80 the installation process unnecessarily. Since this is a development
81 system, you can probably keep this configuration unchanged (admin on
82 localhost only). If you need to be able to connect to the admin console
83 remotely, please see the note in the Appendix section of the main
84 Installers Guide.
85
86 Install JUnit (if you haven't already)
87 --------------------------------------
88
89 Depending on how you installed NetBeans, you might already have JUnit
90 installed. JUnit can be installed from Tools -> Plugins.
91
92 Check out a new copy of the DVN source tree
93 ===========================================
94
95 Create a GitHub account [if you don't have one already]
96 -------------------------------------------------------
97
98 Sign up at https://github.com
99
100 Please note that primary audience of this guide (for now) is people who
101 have push access to https://github.com/IQSS/dvn . If you do not have
102 push access and want to contribute (and we hope you do!) please fork the
103 repo per https://help.github.com/articles/fork-a-repo and make
104 adjustments below when cloning the repo.
105
106 Set up an ssh keypair (if you haven't already)
107 -----------------------------------------------------
108
109 You *can* use git with passwords over HTTPS but it's much nicer to set
110 up SSH keys.
111
112 https://github.com/settings/ssh is the place to manage the ssh keys
113 GitHub knows about for you. That page also links to a nice howto:
114 https://help.github.com/articles/generating-ssh-keys
115
116 From the terminal, ``ssh-keygen`` will create new ssh keys for you:
117
118 - private key: ``~/.ssh/id_rsa``
119
120 - It is **very important to protect your private key**. If someone
121 else acquires it, they can access private repositories on GitHub
122 and make commits as you! Ideally, you'll store your ssh keys on an
123 encrypted volume and protect your private key with a password when
124 prompted for one by ``ssh-keygen``. See also "Why do passphrases
125 matter" at https://help.github.com/articles/generating-ssh-keys
126
127 - public key: ``~/.ssh/id_rsa.pub``
128
129 After you've created your ssh keys, add the public key to your GitHub
130 account.
131
132 Clone the repo
133 --------------
134
135 Please see `branches <#branches>`__ for detail, but in short, the
136 "develop" branch is where new commits go. Below we will assume you want
137 to make commits to "develop".
138
139 In NetBeans, click Team, then Git, then Clone.
140
141 Remote Repository
142 *****************
143
144 - Repository URL: ``github.com:IQSS/dvn.git``
145 - Username: ``git``
146 - Private/Public Key
147
148 - Private Key File: ``/Users/[YOUR_USERNAME]/.ssh/id_rsa``
149
150 - Passphrase: (the passphrase you chose while running ``ssh-keygen``)
151
152 Click Next.
153
154 If you are prompted about the authenticity of github.com's RSA key fingerprint, answer "Yes" to continue connecting. GitHub's RSA key fingerprint is listed at https://help.github.com/articles/generating-ssh-keys
155
156 Remote Branches
157 ***************
158
159 Under Select Remote Branches check the "develop" branch.
160
161 Please note: You may see other branches listed, such as "master", but
162 there is no need to check them out at this time.
163
164 Click Next.
165
166 Destination Directory
167 *********************
168
169 The defaults should be fine:
170
171 - Parent Directory: ``/Users/[YOUR_USERNAME]/NetBeansProjects``
172 - Clone Name: ``dvn``
173 - Checkout Branch: ``develop*``
174 - Remote Name: ``origin``
175
176 Click Finish.
177
178 You should see a message that 3 projects were cloned. Click "Open
179 Project".
180
181 Open Projects
182 =============
183
184 In the "Open Projects" dialog you should see three projects, DVN-lockss,
185 DVN-root, and DVN-web (a child of DVN-root).
186
187 Highlight DVN-root and check "Open Required" (to include DVN-web) and click "Open".
188
189 At this point, you should have two (and only two) projects open in
190 NetBeans: DVN-root and DVN-web. If you hover over the projects, it's
191 normal at this point to see warnings such as "Some dependency artifacts
192 are not in the local repository" or "Cannot find application server:
193 GlassFish Server 3+". We'll correct these next.
194
195 Build for the first time
196 ========================
197
198 In NetBeans, right-click DVN-root and click "Build". This will download
199 many dependencies via Maven and may take several minutes.
200
201 When this process has completed, right-click DVN-web and click "Build".
202 You should expect to see "BUILD SUCCESS". This means you have
203 successfully built the .war application package, but do not attempt to
204 deploy the application just yet! We need to configure the server
205 environment first, which consists of GlassFish and PostgreSQL
206
207 Application Environment (Configuring GlassFish and PostgreSQL)
208 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
209
210 In this chapter, we describe the process of setting up your own local
211 application environment into which you will deploy the DVN application.
212
213 Install PostgreSQL database server
214 ==================================
215
216 For Mac OS X (our default development OS), you can get the installer
217 from http://www.postgresql.org/download/macosx
218
219 The installation is very straightforward; just make sure you answer
220 "yes" when asked if Postgres should be accepting network connections.
221 (The application will be accessing the database at the "localhost"
222 address).
223
224 Once installed, we recommend that you also allow connections
225 over local Unix sockets. This way the installer won't have to ask you
226 for the Postgres password every time it needs to talk to the database.
227 To do so, modify the "local all all" line in the data/pg\_hba.conf file
228 to look like this:
229
230 | local all all trust
231
232 **Note** that this only opens Postgres to the local socket connections,
233 and should not be considered a security risk. But if you are extra
234 cautious, you may use instead:
235
236 | local all all ident sameuser
237
238 Restart Postgres for the changes to take effect!
239
240 Please note: if you have any problems with the PostgreSQL setup, please
241 ensure the right ``psql`` is in your ``$PATH``.
242
243 You can check the instructions in the main Installers Guide for more info:
244 :ref:`PostgreSQL section<postgresql>`;
245 but the above should be sufficient to get your environment set up.
246
247 Run the install-dev script
248 ==========================
249
250 The installer is supplied with the DVN source in the tools directory.
251 You must run it as root (for direct access to Postgres).
252
253 | To run the script:
254 | ``sudo su -``
255 | ``cd /Users/[YOUR_USERNAME]/NetBeansProjects/dvn/tools/installer/dvninstall``
256
257 | then execute
258 | ``./install-dev``
259
260 When prompted for various settings, you will likely be able to accept
261 all the default values (in a development environment, they are for the
262 most part the same for everybody).
263
264 Testing login
265 =============
266
267 Once the ``install-dev`` script has completed successfully, you will
268 have a fully functional Dataverse Network server. After making sure
269 GlassFish has been started per the output of the script, you should be
270 able to log in DVN with these credentials:
271
272 - http://localhost:8080/dvn/
273 - username: networkAdmin
274 - password: networkAdmin
275
276 Please note that when deploying from NetBeans for the first time, you
277 will be prompted to select a deployment server. From the drop down,
278 select "GlassFish Server 3.1.2", click "Remember in Current IDE Session"
279 and click "OK".
280
281 Developing with Git
282 ++++++++++++++++
283
284
285 .. _commit:
286
287 Commit
288 ==================
289
290 **Committing Changes**
291
292 By following the instructions in the :ref:`build <build>` step, you
293 should be in the "develop" branch, which is where we want to make
294 commits as we work toward the next release.
295
296 You can verify which branch you are on by clicking Team then "Repository
297 Browser".
298
299 You should see ``dvn [develop]`` at the root of the tree and **develop**
300 in bold under Branches -> Local
301
302 Click Team, then "Show Changes". Select the desired files and
303 right-click to commit.
304
305 To publish your changes on GitHub, you'll need to follow the next step:
306 :ref:`push <push>`.
307
308 .. _push:
309
310 Push
311 ===========
312
313 **Pushing your commits to GitHub**
314
315 After making your :ref:`commit <commit>`, push it to GitHub by clicking
316 Team -> Remote -> Push, then Next (to use your configured remote
317 repository), then checking **develop** and Finish.
318
319 Your commit should now appear on GitHub in the develop branch:
320 https://github.com/IQSS/dvn/commits/develop
321
322 Your commit should **not** appear in the master branch on GitHub:
323 https://github.com/IQSS/dvn/commits/master . Not yet anyway. We only
324 merge commits into master when we are ready to release. Please see the
325 `branches <#branches>`__ section for for detail.
326
327
328 Release
329 ============
330
331 Merge develop into master
332 --------------------------------------
333
334 Tag the release
335 ***************************
336
337 Here is an example of how the 3.4 tag (
338 `https://github.com/IQSS/dvn/tree/3.4 <https://github.com/IQSS/dvn/tree/3.4>`__) was created and pushed to GitHub:
339
340 .. code-block:: guess
341
342 murphy:dvn pdurbin$ git branch
343 * develop
344 master
345 murphy:dvn pdurbin$ git pull
346 Already up-to-date.
347 murphy:dvn pdurbin$ git checkout master
348 Switched to branch 'master'
349 murphy:dvn pdurbin$ git merge develop
350 Updating fdbfe57..6ceb24f
351 (snip)
352 create mode 100644 tools/installer/dvninstall/readme.md
353 murphy:dvn pdurbin$ git tag
354 3.3
355 murphy:dvn pdurbin$ git tag -a 3.4 -m 'merged develop, tagging master as 3.4'
356 murphy:dvn pdurbin$ git tag
357 3.3
358 3.4
359 murphy:dvn pdurbin$ git push origin 3.4
360 Counting objects: 1, done.
361 Writing objects: 100% (1/1), 182 bytes, done.
362 Total 1 (delta 0), reused 0 (delta 0)
363 To git@github.com:IQSS/dvn.git
364 * [new tag] 3.4 -> 3.4
365 murphy:dvn pdurbin$
366 murphy:dvn pdurbin$ git push origin master
367 Total 0 (delta 0), reused 0 (delta 0)
368 To git@github.com:IQSS/dvn.git
369 fdbfe57..6ceb24f master -> master
370 murphy:dvn pdurbin$
371
372 Make release available for download
373 ******************************************************
374
375 On dvn-build:
376
377 .. code-block:: guess
378
379 cd tools/installer
380 make installer
381
382 Rename the resulting "dvninstall.zip" to include the release number
383 (i.e. "dvninstall\_v3\_4.zip") and upload it, the separate war file, a
384 readme, and a buildupdate script (all these files should include the
385 release number) to SourceForge (i.e.
386 `http://sourceforge.net/projects/dvn/files/dvn/3.4/ <http://sourceforge.net/projects/dvn/files/dvn/3.4/>`__).
387
388 Increment the version number
389 *******************************************************
390
391 The file to edit is:
392
393 | `https://github.com/IQSS/dvn/blob/develop/src/DVN-web/src/VersionNumber.properties <https://github.com/IQSS/dvn/blob/develop/src/DVN-web/sr/VersionNumber.properties>`__
394
395 Branches
396 ===========
397
398 Current list of branches
399 -------------------------------------
400
401 `https://github.com/IQSS/dvn/branches <https://github.com/IQSS/dvn/branches>`__
402
403 New branching model: develop vs. master
404 -------------------------------------------------
405
406 Please note that with the move to git, we are adopting the branching
407 model described at
408 `http://nvie.com/posts/a-successful-git-branching-model/ <http://nvie.com/posts/a-successful-git-branching-model/>`__
409
410 In this branching model there are two persistent branches:
411
412 - develop: where all new commits go
413 - master: where code gets merged and tagged as a release
414
415 That is to say, **please make your commits on the develop branch, not
416 the master branch**.
417
418 Feature branches
419 ------------------------
420
421 "The essence of a feature branch is that it exists as long as the
422 feature is in development, but will eventually be merged back into
423 develop (to definitely add the new feature to the upcoming release)
424 or discarded (in case of a disappointing experiment)." --
425 `http://nvie.com/posts/a-successful-git-branching-model/ <http://nvie.com/posts/a-successful-git-branching-model/>`__
426
427 Example feature branch: 2656-lucene
428 ---------------------------------------------------
429
430 First, we create the branch and check it out:
431
432 ::
433
434 murphy:dvn pdurbin$ git branch
435 2656-solr
436 * develop
437 murphy:dvn pdurbin$ git branch 2656-lucene
438 murphy:dvn pdurbin$
439 murphy:dvn pdurbin$ git branch
440 2656-lucene
441 2656-solr
442 * develop
443 murphy:dvn pdurbin$ git checkout 2656-lucene
444 Switched to branch '2656-lucene'
445 murphy:dvn pdurbin$
446 murphy:dvn pdurbin$ git status
447 # On branch 2656-lucene
448 nothing to commit (working directory clean)
449 murphy:dvn pdurbin$
450
451 | Then, we make a change and a commit, and push it to:
452
453 | `https://github.com/iqss/dvn/tree/2656-lucene <https://github.com/iqss/dvn/tree/2656-lucene>`__ (creating a new remote branch):
454
455
456 ::
457
458 murphy:dvn pdurbin$ vim src/DVN-EJB/src/java/edu/harvard/iq/dvn/core/index/Indexer.java
459 murphy:dvn pdurbin$
460 murphy:dvn pdurbin$ git commit -m 'start lucene faceting branch' src/DVN-EJB/src/java/edu/harvard/iq/dvn/core/index/Indexer.java
461 [2656-lucene 3b82f88] start lucene faceting branch
462 1 file changed, 73 insertions(+), 2 deletions(-)
463 murphy:dvn pdurbin$
464 murphy:dvn pdurbin$ git push origin 2656-lucene
465 Counting objects: 25, done.
466 Delta compression using up to 8 threads.
467 Compressing objects: 100% (10/10), done.
468 Writing objects: 100% (13/13), 2.23 KiB, done.
469 Total 13 (delta 6), reused 0 (delta 0)
470 To git@github.com:IQSS/dvn.git
471 * [new branch] 2656-lucene -> 2656-lucene
472 murphy:dvn pdurbin$
473
474 |
475
476 As we work on the feature branch, we merge the latest changes from
477 "develop". We want to resolve conflicts in the feature branch itself so
478 that the feature branch will merge cleanly into "develop" when we're
479 ready. In the example below, we use ``git mergetool`` and ``opendiff``
480 to resolve conflicts and save the merge. Then we push the newly-merged
481 2656-lucene feature branch to GitHub:
482
483 |
484
485 ::
486
487 murphy:dvn pdurbin$ git branch
488 * 2656-lucene
489 2656-solr
490 develop
491 murphy:dvn pdurbin$ git checkout develop
492 murphy:dvn pdurbin$ git branch
493 2656-lucene
494 2656-solr
495 * develop
496 murphy:dvn pdurbin$ git pull
497 remote: Counting objects: 206, done.
498 remote: Compressing objects: 100% (43/43), done.
499 remote: Total 120 (delta 70), reused 96 (delta 46)
500 Receiving objects: 100% (120/120), 17.65 KiB, done.
501 Resolving deltas: 100% (70/70), completed with 40 local objects.
502 From github.com:IQSS/dvn
503 8fd223d..9967413 develop -> origin/develop
504 Updating 8fd223d..9967413
505 Fast-forward
506 .../admin/EditNetworkPrivilegesServiceBean.java | 5 +-
507 (snip)
508 src/DVN-web/web/study/StudyFilesFragment.xhtml | 2 +-
509 12 files changed, 203 insertions(+), 118 deletions(-)
510 murphy:dvn pdurbin$ murphy:dvn pdurbin$ git pull
511 remote: Counting objects: 206, done.
512 remote: Compressing objects: 100% (43/43), done.
513 remote: Total 120 (delta 70), reused 96 (delta 46)
514 Receiving objects: 100% (120/120), 17.65 KiB, done.
515 Resolving deltas: 100% (70/70), completed with 40 local objects.
516 From github.com:IQSS/dvn
517 8fd223d..9967413 develop -> origin/develop
518 Updating 8fd223d..9967413
519 Fast-forward
520 .../admin/EditNetworkPrivilegesServiceBean.java | 5 +-
521 (snip)
522 .../harvard/iq/dvn/core/web/study/StudyUI.java | 2 +-
523 src/DVN-web/web/HomePage.xhtml | 5 +-
524 murphy:dvn pdurbin$
525 murphy:dvn pdurbin$ git checkout 2656-lucene
526 Switched to branch '2656-lucene'
527 murphy:dvn pdurbin$
528 murphy:dvn pdurbin$
529 murphy:dvn pdurbin$ git merge develop
530 Auto-merging src/DVN-web/web/BasicSearchFragment.xhtml
531 CONFLICT (content): Merge conflict in src/DVN-web/web/BasicSearchFragment.xhtml
532 Auto-merging src/DVN-web/src/edu/harvard/iq/dvn/core/web/BasicSearchFragment.java
533 Auto-merging src/DVN-EJB/src/java/edu/harvard/iq/dvn/core/index/Indexer.java
534 Automatic merge failed; fix conflicts and then commit the result.
535 murphy:dvn pdurbin$
536 murphy:dvn pdurbin$ git status
537 # On branch 2656-lucene
538 # Changes to be committed:
539 #
540 # modified: src/DVN-EJB/src/java/edu/harvard/iq/dvn/core/admin/EditNetworkPrivilegesServiceBean.java
541 (snip)
542 # new file: src/DVN-web/web/admin/ChooseDataverseForCreateStudy.xhtml
543 # modified: src/DVN-web/web/study/StudyFilesFragment.xhtml
544 #
545 # Unmerged paths:
546 # (use "git add/rm <file>..." as appropriate to mark resolution)
547 #
548 # both modified: src/DVN-web/web/BasicSearchFragment.xhtml
549 #
550 murphy:dvn pdurbin$ git mergetool
551 merge tool candidates: opendiff kdiff3 tkdiff xxdiff meld tortoisemerge gvimdiff diffuse ecmerge p4merge araxis bc3 emerge vimdiff
552 Merging:
553 src/DVN-web/web/BasicSearchFragment.xhtml
554
555 Normal merge conflict for 'src/DVN-web/web/BasicSearchFragment.xhtml':
556 {local}: modified file
557 {remote}: modified file
558 Hit return to start merge resolution tool (opendiff):
559 murphy:dvn pdurbin$
560 murphy:dvn pdurbin$ git add .
561 murphy:dvn pdurbin$
562 murphy:dvn pdurbin$ git commit -m "Merge branch 'develop' into 2656-lucene"
563 [2656-lucene 519cd8c] Merge branch 'develop' into 2656-lucene
564 murphy:dvn pdurbin$
565 murphy:dvn pdurbin$ git push origin 2656-lucene
566 (snip)
567 murphy:dvn pdurbin$
568
569
570 | When we are ready to merge the feature branch back into the develop branch, we can do so.
571
572 | Here's an example of merging the 2656-lucene branch back into develop:
573
574 ::
575
576 murphy:dvn pdurbin$ git checkout 2656-lucene
577 Switched to branch '2656-lucene'
578 murphy:dvn pdurbin$ git pull
579 Already up-to-date.
580 murphy:dvn pdurbin$ git checkout develop
581 Switched to branch 'develop'
582 murphy:dvn pdurbin$ git pull
583 Already up-to-date.
584 murphy:dvn pdurbin$ git merge 2656-lucene
585 Removing lib/dvn-lib-EJB/lucene-core-3.0.0.jar
586 Merge made by the 'recursive' strategy.
587 lib/dvn-lib-EJB/lucene-core-3.0.0.jar | Bin 1021623 -> 0 bytes
588 lib/dvn-lib-EJB/lucene-core-3.5.0.jar | Bin 0 -> 1466301 bytes
589 lib/dvn-lib-EJB/lucene-facet-3.5.0.jar | Bin 0 -> 293582 bytes
590 src/DVN-EJB/src/java/edu/harvard/iq/dvn/core/index/DvnQuery.java | 160 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
591 src/DVN-EJB/src/java/edu/harvard/iq/dvn/core/index/IndexServiceBean.java | 56 ++++++++++++++++++++
592 src/DVN-EJB/src/java/edu/harvard/iq/dvn/core/index/IndexServiceLocal.java | 16 +++++-
593 src/DVN-EJB/src/java/edu/harvard/iq/dvn/core/index/Indexer.java | 432 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
594 src/DVN-EJB/src/java/edu/harvard/iq/dvn/core/index/ResultsWithFacets.java | 71 +++++++++++++++++++++++++
595 src/DVN-web/src/SearchFieldBundle.properties | 4 +-
596 src/DVN-web/src/edu/harvard/iq/dvn/core/web/AdvSearchPage.java | 86 +++++++++++++++++++++++++++++++
597 src/DVN-web/src/edu/harvard/iq/dvn/core/web/BasicSearchFragment.java | 102 +++++++++++++++++++++++++++++++++++-
598 src/DVN-web/src/edu/harvard/iq/dvn/core/web/StudyListing.java | 11 ++++
599 src/DVN-web/src/edu/harvard/iq/dvn/core/web/StudyListingPage.java | 428 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
600 src/DVN-web/src/edu/harvard/iq/dvn/core/web/study/FacetResultUI.java | 42 +++++++++++++++
601 src/DVN-web/src/edu/harvard/iq/dvn/core/web/study/FacetUI.java | 62 ++++++++++++++++++++++
602 src/DVN-web/web/AdvSearchPage.xhtml | 3 +-
603 src/DVN-web/web/BasicSearchFragment.xhtml | 9 ++--
604 src/DVN-web/web/StudyListingPage.xhtml | 43 +++++++++++-----
605 18 files changed, 1500 insertions(+), 25 deletions(-)
606 delete mode 100644 lib/dvn-lib-EJB/lucene-core-3.0.0.jar
607 create mode 100644 lib/dvn-lib-EJB/lucene-core-3.5.0.jar
608 create mode 100644 lib/dvn-lib-EJB/lucene-facet-3.5.0.jar
609 create mode 100644 src/DVN-EJB/src/java/edu/harvard/iq/dvn/core/index/DvnQuery.java
610 create mode 100644 src/DVN-EJB/src/java/edu/harvard/iq/dvn/core/index/ResultsWithFacets.java
611 create mode 100644 src/DVN-web/src/edu/harvard/iq/dvn/core/web/study/FacetResultUI.java
612 create mode 100644 src/DVN-web/src/edu/harvard/iq/dvn/core/web/study/FacetUI.java
613 murphy:dvn pdurbin$
614 murphy:dvn pdurbin$ git status
615 # On branch develop
616 # Your branch is ahead of 'origin/develop' by 68 commits.
617 #
618 nothing to commit (working directory clean)
619 murphy:dvn pdurbin$
620 murphy:dvn pdurbin$ git push
621 Counting objects: 51, done.
622 Delta compression using up to 8 threads.
623 Compressing objects: 100% (12/12), done.
624 Writing objects: 100% (19/19), 1.41 KiB, done.
625 Total 19 (delta 7), reused 0 (delta 0)
626 To git@github.com:IQSS/dvn.git
627 b7fae01..2b88b68 develop -> develop
628 murphy:dvn pdurbin$
629
630 Switching to the master branch to merge commits from the develop branch
631 -------------------------------------------------------------------------------------------------------
632
633 We should really only need to switch from the develop branch to the
634 master branch as we prepare for a release.
635
636 First, we check out the master branch by clicking Team -> Git -> Branch
637 -> Switch to Branch.
638
639 Change Branch to "origin/master" and check the box for "Checkout as New
640 Branch" and fill in "master" as the "Branch Name" to match the name of
641 the branch we're switching to. Then click "Switch".
642
643 Now, in the Git Repository Browser (from Team -> Repository Browser) the
644 root of the tree should say ``dvn [master]`` and you should see two
645 branches under Branches -> Local. **master** should be in bold and
646 develop should not.
647
648 Tips
649 =========
650
651 Previewing changes before a pull
652 --------------------------------
653
654 If the build fails overnight you may want to hold off on doing a pull
655 until the problem is resolved. To preview what has changed since your
656 last pull, you can do a ``git fetch`` (the first part of a pull) then
657 ``git log HEAD..origin/develop`` to see the commit messages.
658 ``git log -p`` or ``git diff`` will allow you to see the contents of the
659 changes:
660
661 ::
662
663 git checkout develop
664 git fetch
665 git log HEAD..origin/develop
666 git log -p HEAD..origin/develop
667 git diff HEAD..origin/develop
668
669 After the build is working again, you can simply do a pull as normal.
670
671 Errors
672 ===========
673
674 Duplicate class
675 ---------------
676
677 The error "duplicate class" can result whenever you resolve a merge
678 conflict in git.
679
680 The fix is to close NetBeans and delete (or move aside) the cache like
681 this:
682
683 ::
684
685 cd ~/Library/Caches/NetBeans
686 mv 7.2.1 7.2.1.moved
687
688 According to https://netbeans.org/bugzilla/show_bug.cgi?id=197983 this might be fixed in NetBeans 7.3.