text:
---
layout: post
title: Macroeconomics (Reading 15)
tags:
- CFA1
- Economics
---

<script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>

## Business Cycle

Aspects:
* xx = Inventory-Sales ratio (inventory/sales)

1. Trough (不況)
  - GDP growth rate changes from negative to positive

2. Expansion (回復)
  - GDP growth rate increases.
3. Peak (好況)
  - Sales growth begins to slow (and inventories accumulate)
4. Contraction/recession (後退)

1. Housing sector activity
*  Mortgage rates: Low -> increase home buying construction.
*  Housing costs (Home and including mortgage financing costs) to relative income: home buying and construction.
*  Speculative activity:

**LOS. 15.c Theories of business cycle** <br>

1. Neoclassical school (新古典学派)
2. Keynesian school
3. Monetarist school
4. New Keynesian school
5. Austrian school
6. New classical school (新しい古典派)

**15.f construction of indexes**

* CPI (Consumer Price Index):
* PPI: calculated from prices of goods in process. different stages of processing.
* WPI:

**LOS 16.n Describe limitations of monetary policy**

1. Decrease money supply by setting higher interest rate (To slow down the economy)
2. People expect lower future inflation rate.
3. Long-term rates (refers to government bonds maturing in 10 yrs) could fall.
  * *Because* long-term bond yields include premium for expected inflation
4. Facilitates towards *increase* of econ growth.

Equivalent explanation:
* Bond market participants think short term rates are already too high.
  * Therefore, authorities are risking a recession.
  * Central bank will likely undershoot inflation target. → Fall in inflation expectations.

[link](https://www.youtube.com/watch?v=KKHi1HKTpD4) (from 22:30)

* **Bond market vigilantes** reduce their demand for long-term bonds to push up their yields.

* Liquidity trap
  * Highly elastic demand for money. (Interest rate vs. quantity)

 **LOS. 18.j Explain the effects of exchange rates on countries' international trade and capital flows**

### Elasticities Approach

Effect of currency depreciation in terms of current accounts(経常収支).

**Marshall-Lerner condition**:

= The condition under which a depreciation of the domestic currency will decrease a trade deficit.

$$\begin{equation}
W_X \epsilon_X + W_M (\epsilon_M-1) > 0
\end{equation}$$

- $$W_X$$ : proportion of total exports.
- $$\epsilon_X$$: absolute value of price elasticity of demand for exports.

### Absorption Approach

The effect of currency depreication in terms of capital account.

$$\begin{equation}
BT = Y - E
\end{equation}$$

- Y: domestic production of goods and services of national income
- E: Domestic absorption(=内需＝総支出) of goods.
- BT: Balance of trade

BT<0 shows the state of trade deficit.

経常収支が赤字の国は資本収支は黒字．


text:
[![Clojars Project](https://img.shields.io/clojars/v/org.clj-commons/primitive-math.svg)](https://clojars.org/org.clj-commons/primitive-math)
[![cljdoc badge](https://cljdoc.org/badge/org.clj-commons/primitive-math)](https://cljdoc.org/d/org.clj-commons/primitive-math)
[![CircleCI](https://circleci.com/gh/clj-commons/primitive-math.svg?style=svg)](https://circleci.com/gh/clj-commons/primitive-math)

### About

Clojure's numeric tower is useful, but it can put a lot of steps between you and simple arithmetic.  Unfortunately, while Clojure will warn you when reflection is required to invoke a function, it will **not** warn you when reflection is required to perform math.  The only reliable way to discover whether you're calling `clojure.lang.Number.add(Object, Object)` or `clojure.lang.Number.add(long, long)` is to use a profiler or decompiler.

Or, you can just bypass Clojure's math operators altogether.

In the `clj-commons.primitive-math` namespace, there are equivalents for every arithmetic operator and comparator that will give a reflection warning if it cannot compile down to a simple, predictable, unboxed mathematical operation.

```clojure
clj-commons.primitive-math> (set! *warn-on-reflection* true)
true
clj-commons.primitive-math> (+ 3 3)
6
clj-commons.primitive-math> (defn adder [x] (+ 1 x))
;; gives a reflection warning
clj-commons.primitive-math> (defn adder [^long x] (+ 1 x))
;; no reflection warning
clj-commons.primitive-math> (+ 3.0 3)
;; gives a reflection warning AND throws an exception
```

To support operations on both `long` and `double` types without any reflection, these operators are defined as macros.  This means they cannot be used as higher-order functions:

```clojure
clj-commons.primitive-math> (apply + [1 2 3])
;; throws a 'cannot take value of macro' exception
```

In practice, it's usually preferable to import the namespace with a prefix, and use `p/+` and `p/==` operators alongside the normal Clojure functions.  However, if in a particular namespace you never need to use higher-order operators, you can call `(primitive-math/use-primitive-operators)` to swap out the Clojure operators for their primitive equivalents.  This can be reversed, using `(primitive-math/unuse-primitive-operators)`.

##### Notes

Pre-1.0.0 versions of primitive-math used a single-segment namespace. This causes problems for Graal and clj-easy. For 1.0.0, everything was copied under the `clj-commons` namespace. The code is effectively identical, however, so unless you are using Graal, you don't need to make any changes. If you *are* using Graal, make sure you only require the `clj-commons.*` namespaces to avoid issues.

### Usage

```clojure
;;; Lein
[org.clj-commons/primitive-math "1.0.1"]

;;; deps.edn
org.clj-commons/primitive-math {:mvn/version "1.0.1"}
```

### An exhaustive list of operators

```clojure
+
-
*
/  ;; aliased as 'div'
inc
dec
rem
==
not==
zero?
<=
>=
<
>
min
max
bool-and
bool-or
bool-not
bool-xor
true?
false?
bit-and
bit-or
bit-xor
bit-not
bit-shift-left   ;; aliased as '<<'
bit-shift-right  ;; aliased as '>>'
unsigned-bit-shift-right  ;; aliased as '>>>'
byte
short
int
float
long
double
byte->ubyte
ubyte->byte
short->ushort
ushort->short
int->uint
uint->int
long->ulong
ulong->long
reverse-short
reverse-int
reverse-long
```

Full documentation can be found at [cljdoc](https://cljdoc.org/d/org.clj-commons/primitive-math).

### License

Copyright © 2016 Zachary Tellman

Distributed under the [MIT License](http://opensource.org/licenses/MIT).

license: MIT

repository: clj-commons/primitive-math

branch_name: refs/heads/master

extension: md

gha_language: Clojure

license_type: permissive

repo_name: clj-commons/primitive-math


text:
---
layout: creature
name: "Pinna"
tags: [medium, humanoid, cr1, strongholds-and-followers]
cha: 15 (+2)
wis: 12 (+1)
int: 16 (+3)
con: 11 (+0)
dex: 8 (-1)
str: 6 (-2)
size: Medium humanoid
alignment: neutral good
challenge: "1 (200 XP)"
languages: "Common"
skills: "Arcana +6"
senses: "passive Perception 11"
saving_throws: "Int +6, Wis +2"
speed: "30 ft."
hit_points: "13 (3d6)"
armor_class: "12"
---

***Spellcasting.*** Pinna is a 3rd-level spellcaster. Her
spellcasting ability is Intelligence (spell save DC
13, +5 to hit with spell attacks). Pinna has the
following wizard spells prepared:

* Cantrips (at will): minor illusion, mage hand, dancing lights, fire bolt

* 1st level (4 slots): color spray, silent image, identify, magic missile

* 2nd level (2 slots): blur, web

### Actions

***Dagger.*** Melee or Ranged Weapon Attack: +2 to
hit, reach 5 ft. or range 20/60 ft., one target. Hit:
2 (1d4) piercing damage.

gha_language: CSS

gha_license_id: NOASSERTION


text:
# Reflex_Algo Build and Package

## Requirements

* OSX or Linux system (currently do not support Windows) * [Docker](https://docs.docker.com/engine/installation/) installation
* MCenter Builder container

## Containerized User Builds
The `dockerbuild.sh` script can be used to run a build inside of the official build environment.
To create MCenter Builder container, run *src/reflex/tools/dockers/create-mcenter-builder-docker.sh*

**NOTE:** Containers are run in
*[ephemeral](https://docs.docker.com/engine/reference/run/#/clean-up---rm)*
mode which means there is no saved state between runs. Any changes done outside of the shared
directories will be lost.

### How it works
In order to build your local source tree inside the container the following things are done by
the build scripts.

* Figure out your local UID and GID and create a matching user inside the container
* Share your working source tree directory to the mock home directory inside the container
* Share your `~/.m2` directory with the container
    * This speeds things up as Maven dependencies won't get downloaded on each build
    * An alternative would be to figure out how to package them inside the container

### Default Build
To kick off a build run `<Reflex_Algo repo>/build/dockerbuild.sh`

    [reflex-algos] $ build/dockerbuild.sh
    Building Reflex-Algo...SUCCESS!!
    Build log: build/docker-build.log

The command used to build the project is defined by the `DEFAULT_BUILD` variable in
`docker-entrypoint.sh`.

### Custom Build or Inspection
If you want to run another command or need to investigate issues building inside the container you
can append what you want to the `dockerbuild.sh` script.

**NOTE:**

* Whatever command is added will be executed in the base GIT directory of the Reflex-Algos project
* If the added command has spaces then it needs to be wrapped in quotes

#### Examples

    [reflex-algos] $ build/dockerbuild.sh pwd
    /home/$USERNAME/git/reflex-algos
    [reflex-algos] $ build/dockerbuild.sh "ls -alh"
    total 75K
    drwxr-xr-x 14 $USERNAME $USERNAME   21 Jan 19 20:02 .
    drwxr-xr-x  3 root      root         3 Jan 19 21:55 ..
    -rw-r--r--  1 $USERNAME $USERNAME  287 Jan 12 20:00 .classpath

If you want to interactively inspect the container just run `bash` as your added command.

    [build] $ ./dockerbuild.sh bash
    bash-4.2$ pwd
    /home/$USERNAME/git/reflex-algos
    bash-4.2$ id
    uid=1000($USERNAME) gid=1000($USERNAME) groups=1000($USERNAME)
    bash-4.2$ ls -lh

repository: jialeiwang/mlpiper

repo_name: jialeiwang/mlpiper


text:
Orc.Controls
===============

[![Join the chat at https://gitter.im/WildGums/Orc.Controls](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/WildGums/Orc.Controls?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

![License](https://img.shields.io/github/license/wildgums/orc.controls.svg)
![Version](https://img.shields.io/nuget/v/orc.controls.svg)
![Pre-release version](https://img.shields.io/nuget/vpre/orc.controls.svg)

This library contains simple (yet useful) controls for viewing and editing data, such as:

- **DatePickerControl**
- **DateTimePickerControl**
- **TimeSpanControl**
- **BindableRichTextBox**
- **DropDownButton**
- **FilterBoxControl**
- **LogViewer**
- **WatermarkTextBox**
- **LinkLabel**
- **OpenFilePickerView**
- **DirectoryPickerView**
- **SaveFilePickerView**

Run the demo project to see the controls in action:

![Orc.Controls demo](doc/images/Orc.Controls.Demo.png)

DatePickerControl
----------------------
This control looks like a regular DatePicker but allows you to edit a date quickly.

![DatePicker 01](doc/images/DatePicker_01.png)![DatePicker 02](doc/images/DatePicker_02.png)

![DatePicker 03](doc/images/DatePicker_03.png)![DatePicker 04](doc/images/DatePicker_04.png)

![DatePicker 05](doc/images/DatePicker_05.png)

Double click on any number to start editing. Press the “Tab” key to move to the next number.

Click on a letter to display a drop down list to choose from.

### How to use DatePickerControl

Bind a *DateTime* value to the **Value** property:

```
    <orc:DatePickerControl Value="{Binding DateValue}" />
```

DateTimePickerControl
----------------------

This control is used to display and edit DateTime data quickly.

![DateTimePicker 01](doc/images/DateTimePicker_01.png) ![DateTimePicker 02](doc/images/DateTimePicker_02.png)

![DateTimePicker 03](doc/images/DateTimePicker_03.png) ![DateTimePicker 04](doc/images/DateTimePicker_04.png)

![DateTimePicker 05](doc/images/DateTimePicker_05.png)

Double click on any number to start editing. Press the "Tab" key to move to the next number.

Click on a letter to display a drop down list to choose from.

### How to use DateTimePickerControl

Bind a *DateTime* value to the **Value** property:

```
    <orc:DateTimePickerControl Value="{Binding DateTimeValue}" />
```

TimeSpanControl
------------------

This control is used to display and edit TimeSpan values.
By default it will display the value using the *dd.hh:mm:ss* format.

![TimeSpan 01](doc/images/TimeSpan_01.png) ![TimeSpan 02](doc/images/TimeSpan_02.png)

When hovering over the control, the tooltip will display the timespan in total number of days, hours and minutes.

Double click on any of the *d*, *h*, *m* or *s* letters, to edit the TimeSpan value with the specified unit of measure. (i.e. days,

hours, minutes, seconds)

![TimeSpan 03](doc/images/TimeSpan_03.png) ![TimeSpan 04](doc/images/TimeSpan_04.png) ![TimeSpan 05](doc/images/TimeSpan_05.png)

### How to use TimeSpanControl

Bind a *TimeSpan* value to the **Value** property:

```
	<orc:TimeSpanControl Value="{Binding TimeSpanValue}"/>
```

BindableRichTextBox
---------------------

The control can be used as a regular [RichTextBox](https://msdn.microsoft.com/en-us/library/system.windows.controls.richtextbox

(v=vs.110).aspx) with one added advantage. It can be bound to a [FlowDocument](https://msdn.microsoft.com/en-

us/library/system.windows.documents.flowdocument(v=vs.110).aspx).

It is very useful to use with the MVVM pattern.

### How to use BindableRichTextBox

For binding data to the *BindableRichTextBox*, use the *BindableDocument* property  (the type is [FlowDocument]

(https://msdn.microsoft.com/en-us/library/system.windows.documents.flowdocument(v=vs.110).aspx)):

```
    <orc:BindableRichTextBox BindableDocument="{Binding FlowDoc}" />
```

Once that is done you may assign a new value to it or change the layout of the  [FlowDocument](https://msdn.microsoft.com/en-

us/library/system.windows.documents.flowdocument(v=vs.110).aspx).

Everything will automatically be displayed in your UI.

DropDownButton
---------------

The control is made up of two buttons side by side. The First button works as a regular button and the second one will display a customizable drop down menu under the control.

![DropDownButton 01](doc/images/DropDownButton_01.png)

### How to use DropDownButton

The control has three main bindable properties which can be used to configure the DropDownButton behavior:

- **Header** => caption of Button
- **Command** => used to configure the default action
- **DropDown** => the ContextMenu

```
<orc:DropDownButton Header="Action" Command="{Binding DefaultAction}">
	<orc:DropDownButton.DropDown>
		<ContextMenu>
			<MenuItem Header="Item 1"/>
			<MenuItem Header="Item 2"/>
			<Separator/>
			<MenuItem Header="Item 2"/>
		</ContextMenu>
	</orc:DropDownButton.DropDown>
</orc:DropDownButton>
```

FilterBoxControl
-----------------

Looks like a regular TextBox.

![FilterBox 01](doc/images/FilterBox_01.png)

Start typing and you will see a drop down list with possible matches. The drop down list will automatically update itself as you are

typing.

![FilterBox 02](doc/images/FilterBox_02.png)

Click on the 'x' button to reset the text box.

![FilterBox 03](doc/images/FilterBox_03.png)

### How to use FilterBoxControl

The bindable properties are:

* **FilterSource** => The collection of items shown in the drop down list
* **PropertyName** => The name of the property you want to use to filter the items in the collection with.
* **Text** => The text entered by the user, which is used to filter the items in the *FilterSource* collection

```
<orc:FilterBoxControl PropertyName="Value"
	              FilterSource="{Binding FilterSource}"
	              Text="{Binding FilterText}"/>
```

LogViewer
----------

This control is used to display log messages generated from an application in real time. The  Control uses it's own LogListener,

which is derived from [Catel.Logging.LogListenerBase](http://www.nudoq.org/#!/Packages/Catel.Core/Catel.Core/LogListenerBase).

A [RichTextBox](https://msdn.microsoft.com/en-us/library/system.windows.controls.richtextbox(v=vs.110).aspx) is used to display the

log messages.

![LogViewer 03](doc/images/LogViewer_01.png)

### How to use LogViewer

Here are the main properties, which are used to configure the LogViewer control:

Filtering:

- **LogFilter** => string. Used for filtering the log records with a search term.
- **ShowDebug** => boolean. Show debug log records if true.
- **ShowInfo** => boolean. Show info log records if true.
- **ShowWarning** => boolean. Show warning log records if true.
- **ShowError** => boolean. Show error log records if true.

Visualisation:

- **EnableTimestamp** => boolean. Show timestamp for each log record if true.
- **EnableTextColoring** => boolean. Show colors for each log record depending on its log level.
- **EnableIcons** => boolean. Show the icon associated with each log record. The icon will change depending on the log level.

Events:

- **LogEntryDoubleClick** => Allow you to subscribe to a user double clicking on a record.

```
<orc:LogViewerControl LogEntryDoubleClick="LogViewerControlOnLogRecordDoubleClick
			LogFilter="{Binding Text, ElementName=FilterTextBox}"
			ShowDebug="{Binding IsChecked, ElementName=ShowDebugToggleButton}"
			ShowInfo="{Binding IsChecked, ElementName=ShowInfoToggleButton}"
			ShowWarning="{Binding IsChecked, ElementName=ShowWarningToggleButton}"
			ShowError="{Binding IsChecked, ElementName=ShowErrorToggleButton}"
			EnableTimestamp="{Binding IsChecked, ElementName=EnableTimestampCheckBox}"
			EnableTextColoring="True"
			EnableIcons="True"/>
```

WatermarkTextBox
---------------------

This control will display a watermark in a textbox control when no value is assigned to it.
As soon as the user starts typing in the textbox the watermark will disappear.

This control is useful to add hints.

A watermark can contain text or any other control such as images:

![WatermarkTextBox 02](doc/images/WatermarkTextBox_02.png)

### How to use WatermarkTextBox

In order to use the simple watermark just set a watermark value to the *Watermark* property:

```
<orc:WatermarkTextBox Watermark="Textbox with Watermark" />
```

In order to add controls or images to the watermark you can define a watermark value like this:

```
<orc:WatermarkTextBox>
    <orc:WatermarkTextBox.Watermark>
        <StackPanel Orientation="Horizontal">
            <Image Source="/Resources/Images/email.png" />
            <TextBlock Text="Enter the e-mail" />
        </StackPanel>
    </orc:WatermarkTextBox.Watermark>
</orc:WatermarkTextBox>
```

LinkLabel
----------

This control is a label which looks and bahaves like a hyperlink.

![LinkLabel 01](doc/images/LinkLabel_01.png)

###How to use LinkLabel

```
<orc:LinkLabel Content="Action" ToolTip="Action" Command="{Binding DefaultAction}"
                       HoverForeground="Orange" Url="http://catelproject.com"
                       ClickBehavior="OpenUrlInBrowser"/>
```

The bindable properties are:

- **Url** => The URL.
- **HyperlinkStyle** => The hyperlink style.
- **HoverForeground** => The hover foreground.
- **LinkLabelBehavior** => The link label behavior. Can be SystemDefault, AlwaysUnderline, HoverUnderline, NeverUnderline.
- **ClickBehavior** => The click behavior. Can be OpenUrlInBrowser or Undefined.
- **Command** => The command.
- **CommandParameter** => The command parameter.
- **CommandTarget** => The command target.

OpenFilePickerView
----------

This control allows user to choose an existing file directory.

![OpenFilePicker 01](doc/images/OpenFilePicker_01.png)

###How to use OpenFilePickerView

```
<orc:OpenFilePickerView LabelText="OpenFilePicker control" LabelWidth="150" />
```

The bindable properties are:

- **LabelWidth** => The label width.
- **LabelText** => The label content.
- **SelectedFile** => The selected file path.

DirectoryPickerView
----------

This control allows users to choose a directory.

![DirectoryPickerView 01](doc/images/DirectoryPicker_01.png)

###How to use DirectoryPickerView

```
<orc:DirectoryPickerView LabelText="DirectoryPicker control" LabelWidth="150" />
```

The bindable properties are:

- **LabelWidth** => The label width.
- **LabelText** => The label content.
- **SelectedDirectory** => The selected directory.

SaveFilePickerView
----------

This control allows user to choose a directory where a file will be saved.

![SaveFilePickerView 01](doc/images/SaveFilePicker_01.png)

### How to use SaveFilePickerView

```
<orc:SaveFilePickerView LabelText="SaveFilePicker control" LabelWidth="150" />
```

The bindable properties are:

- **LabelWidth** => The label width.
- **LabelText** => The label content.
- **SelectedFile** => The selected file path.
- **Filter** => The filter string that determines what types of files are displayed from the SaveFileDialog .

## Links

- Orc.Controls is part of the [Orchestra](https://github.com/WildGums/Orchestra) family of controls.
- Other similar open source controls can be found [here](https://github.com/objorke/PropertyTools)

branch_name: refs/heads/develop


text:
---
published: false
title: i05
layout: post
author: Yu
categories: v20
hidden: true
---

| 项目 | 具体内容 | 链接 |
|---:|---|---|
| 作者 | Jean-Paul  Fox| |
| 题目 |Multilevel IRT Modeling in Practice with the Package mlirt | [下载地址](http://www.jstatsoft.org/v20/i05/paper) |
| 参考资料 |Vol. 20, Issue 5, Feb 2007 | |
| | 提交日期 2006-10-01, 接收日期 2007-02-22| |
| 类别 | 论文| |
| 摘要 | Variance component models are generally accepted for the analysis of hierarchical structured data. A shortcoming is that outcome variables are still treated as measured without an error. Unreliable variables produce biases in the estimates of the other model parameters. The variability of the relationships across groups and the group-effects on individuals' outcomes differ substantially when taking the measurement error in the dependent variable of the model into account. The multilevel model can be extended to handle measurement error using an item response theory (IRT) model, leading to a multilevel IRT model. This extended multilevel model is in particular suitable for the analysis of educational response data where students are nested in schools and schools are nested within cities/countries.| |
| 论文 | Multilevel IRT Modeling in Practice with the Package mlirt  (application/pdf, 309.5 KB)| [下载地址](http://www.jstatsoft.org/v20/i05/paper) |
| 补充材料 | | |
| |Data.zip: Data sets in SPSS format  (application/zip, 2 MB)|  [下载地址](http://www.jstatsoft.org/v20/i05/supp/1) |
| |mlirt_1.0.tar.gz: R软件包源代码  (application/x-gzip, 682.5 KB)|  [下载地址](http://www.jstatsoft.org/v20/i05/supp/2) |
| |v20i05.R: 论文的示例程序  (application/zip, 2 KB)|  [下载地址](http://www.jstatsoft.org/v20/i05/supp/3) |
| 资源 | [BibTeX](http://www.jstatsoft.org/v20/i05/bibtex) [OAI](http://www.jstatsoft.org/oai?verb=GetRecord&identifier=oai.jstatsoft/v20/i05&prefix=oai_dc)| |
| |  | [返回卷目录]({{site.baseurl}}/volume/v20.html) |

repository: yulijia/jstatsoft

repo_name: yulijia/jstatsoft


text:
# Pinch zoom for Angular 2

The module provides opportunities for image zooming in, zooming out and positioning with use of gestures on a touch screen.

Live demos and source code samples can be found on [home page](http://crystalui.org/components/pinch-zoom).

## Installation

Install the npm package.

	npm i ngx-pinch-zoom

Import module:

	import { PinchZoomModule } from 'ngx-pinch-zoom';

	@NgModule({
	    imports: [ PinchZoomModule ]
	})

## Usage
For use, put your image inside the <pinch-zoom> container. Please, pay attention to the parameters of your viewport metatag. If you use Pinch Zoom, it is required to limit zooming of a web-page, by entering the following parameters: <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no">.

	<pinch-zoom>
	    <img src="path_to_image" />
	</pinch-zoom>

## Properties

| name             | type            | default | description                                 |
|------------------|-----------------|---------|---------------------------------------------|
| height           | string          | auto    | Container height (in pixels or percentages).|
| transition-duration | number       | 200     | Defines the speed of the animation of positioning and transforming.|
| auto-zoom-out    | boolean         | false   | Automatic restoration of the original size of an image after its zooming in by two fingers.|
| double-tap       | boolean         | true    | Zooming in and zooming out of an image, depending on its current condition, with double tap.|
| zoom-button      | boolean         | true    | Show the button for zooming in or zooming out of an image (available in desktop mode).|
| linear-horizontal-swipe | boolean  | false   | Switches on the support of horizontal swipe. It allows shifting an image horizontally, when it hasn’t been zoomed in.|
| linear-vertical-swipe | boolean    | false   | Switches on the support of vertical swipe. It allows shifting an image vertically, when it hasn’t been zoomed in.|

## Methods

| name                    | description                                 |
|-------------------------|---------------------------------------------|
| setMoveX(value: number) | Shift an image in X-direction.              |
| setMoveY(value: number) | Shift an image in Y-direction.              |
| toggleZoom()            | Image zooming in and out, depending on its current state. |
| alignImage()            | Ranging the elements by pressing them to the edge of the parental element. |

## Events

| name             | type                      | description                                 |
|------------------|---------------------------|---------------------------------------------|
| touchstart       | {type: "touchstart"}      | The touchstart event is fired when one or more touch points are placed on the touch surface.|
| touchend         | {type: "touchend"}        | The touchend event is fired when one or more touch points are removed from the touch surface.|
| swipe            | {type: "swipe", moveX: number, moveY: number} | Swipe event is opened, when a user shifts a zoomed image in any direction by a finger.|
| pinch            | {type: "pinch"}           | Pinch event is opened, when a user zooms an image in or out by two fingers.|
| double-tap       | {type: "double-tap"}      | Double-tap event is opened by a double touch, consisting of two quick taps.|
| zoom-in          | {type: "zoom-in"}         | Zoom-in event is opened, when an image is zoomed in by the button (zoom icon with "+") or by toggleZoom method.|
| zoom-out         | {type: "zoom-out"}        | Zoom-in event is opened, when an image is zoomed out by the button (zoom icon with "-") or by toggleZoom method.|
| horizontal-swipe | {type: "horizontal-swipe", moveX: number} | Horizontal swipe event is opened, when a user moves the finger horizontally.|
| vertical-swipe   | {type: "vertical-swipe", moveY: number} | Vertical swipe event is opened, when a user moves the finger vertically.|       | {type: "pinch"}           | Pinch event is opened, when a user zooms an image in or out by two fingers.|

## Sponsors

We use Browserstack for cross-browser testing.

[![Browserstack](http://crystalui.org/assets/img/browserstack-logo.png)](http://browserstack.com/)

gha_license_id: MIT


text:
# DJ Hersh's Web-Development Portfolio

## Description

Hello, I am DJ Hersh, and this is the repository for my web-development portfolio. It is a website to showcase the work I have done. I wanted a clean and pleasing design, and my good friend John Walbolt helped me with the initial format. I used Bootstrap for the layout to make it responsive for all screen sizes. I utilized box-shadow and text-shadow quite a bit so I could get the affect of the page being 3D.

## Link

https://dj620.github.io/djhersh-portfolio/

## Screenshot

![screenshot](assets/img/portfolio-screenshot.png)

## Credits

-Bootstrap: https://getbootstrap.com/

-w3Schools: https://www.w3schools.com/

-Favicon.io: https://favicon.io/

-Font Awesome: https://fontawesome.com/

## License

MIT License

Copyright (c) [2020] [DJ Hersh]

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

 IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

branch_name: refs/heads/main


text:
---
title: Log Writers
---

# Log Writer

The Celix Log Writers are components that sinks log from the Celix log service to different backends.

## CMake options
    BUILD_SYSLOG_WRITER=ON

## Using info

If the Celix Log Writers are installed `find_package(CELIX)` will set:
 - The `Celix::syslog_writer` bundle target

repository: apache/celix

gha_language: C

repo_name: apache/celix


text:
# [Micro-climate](@id microclimate_page)

```@setup usepkg
using PlantBiophysics, PlantMeteo
```

The micro-climatic/meteorological conditions measured close to the object or component are given as the second argument of the simulation functions shown earlier.

PlantBiophysics usually uses a special data structure from the PlantMeteo package to declare those conditions, and to pre-compute other required variables. This data structure is a type called `Atmosphere`.

The mandatory variables to provide are: `T` (air temperature in °C), `Rh` (relative humidity, 0-1), `Wind` (the wind speed in m s-1) and `P` (the air pressure in kPa).

We can declare such conditions using `Atmosphere` such as:

```@example usepkg
using PlantMeteo
meteo = Atmosphere(T = 20.0, Wind = 1.0, P = 101.3, Rh = 0.65)
```

The `Atmosphere` also computes other variables based on the provided conditions, such as the vapor pressure deficit (VPD) or the air density (ρ). You can also provide those variables as inputs if necessary. For example if you need another way of computing the VPD, you can provide it as follows:

```@example usepkg
using PlantMeteo
Atmosphere(T = 20.0, Wind = 1.0, P = 101.3, Rh = 0.65, VPD = 0.82)
```

To access the values of the variables after instantiation, we can use the dot syntax. For example if we need the vapor pressure at saturation, we would do as follows:

```@example usepkg
meteo.eₛ
```

See the documentation of the function if you need more information about the variables: `Atmosphere`.

If you want to simulate several time-steps with varying conditions, you can do so by using `Weather` instead of `Atmosphere`.

`Weather` is just an array of `Atmosphere` along with some optional metadata. For example for three time-steps, we can declare it like so:

```@example usepkg
using PlantMeteo
w = Weather(
    [
        Atmosphere(T = 20.0, Wind = 1.0, P = 101.3, Rh = 0.65),
        Atmosphere(T = 23.0, Wind = 1.5, P = 101.3, Rh = 0.60),
        Atmosphere(T = 25.0, Wind = 3.0, P = 101.3, Rh = 0.55)
    ],
    (
        site = "Montpellier",
        other_info = "another crucial metadata"
    )
)
```

As you see the first argument is an array of `Atmosphere`, and the second is a named tuple of optional metadata such as the site or whatever you think is important.

A `Weather` can also be declared from a DataFrame, provided each row is an observation from a time-step, and each column is a variable needed for `Atmosphere` (see the help of `Atmosphere` for more details on the possible variables and their units).

Here's an example of using a DataFrame as input:

```@example usepkg
using CSV, DataFrames, PlantMeteo
file = joinpath(dirname(dirname(pathof(PlantMeteo))),"test","data","meteo.csv")
df = CSV.read(file, DataFrame; header=5, skipto = 6, dateformat = "yyyy/mm/dd")
# Select and rename the variables:
select!(df, :date, :temperature => :T, :relativeHumidity => (x -> x ./ 100 ) => :Rh, :wind => :Wind, :atmosphereCO2_ppm => :Cₐ)
df[!,:duration] .= 1800 # Add the time-step duration, 30min

# Make the weather, and add some metadata:
Weather(df, (site = "Aquiares", file = file))
```

One can also directly import the Weather from an [Archimed-ϕ](https://archimed-platform.github.io/archimed-phys-user-doc/)-formatted meteorology file (a csv file optionally enriched with some metadata). In this case, the user can rename and transform the variables from the file to match the names and units needed in PlantBiophysics using a [`DataFrame.jl`](https://dataframes.juliadata.org/stable/)-alike syntax:

```@example usepkg
using Dates, PlantMeteo

meteo = read_weather(
    joinpath(dirname(dirname(pathof(PlantMeteo))),"test","data","meteo.csv"),
    :temperature => :T,
    :relativeHumidity => (x -> x ./100) => :Rh,
    :wind => :Wind,
    :atmosphereCO2_ppm => :Cₐ,
    date_format = DateFormat("yyyy/mm/dd")
)
```

## Helper functions

PlantBiophysics provides some helper functions to compute some micro-climate related variables.

Here is a complete list of these functions:

- `vapor_pressure` computes e (kPa), the vapor pressure from the air temperature and the relative humidity
- `e_sat` computes eₛ (kPa), the saturated vapor pressure from the air temperature
- `air_density` computes ρ (kg m-3), the air density from the air temperature, the pressure, and some constants
- `latent_heat_vaporization` computes λ (J kg-1), the latent heat of vaporization from the air temperature and a constant
- `psychrometer_constant` computes γ (kPa K−1), the psychrometer "constant" from the air pressure, the latent heat of vaporization and some constants
- `atmosphere_emissivity(T,e,constants.K₀)` computes ε (0-1), the atmosphere emissivity from the air temperature, the vapor pressure and a constant
- `e_sat_slope` computes Δ (0-1), the slope of the saturation vapor pressure at air temperature, from the air temperature

!!! note
    All constants are found in `Constants`

gha_language: Julia


text:
# 💰 Paga Todo - The Pagatodo Challenge App

A project consuming the
[Very very secret API](https://api.jsonbin.io/b/5ea2fa3e98b3d5375233ca89).

## Requirements

- Xcode 11.4.1
- Git 2.16.2+
- Ruby 2.4.3+
- [Cocoapods](https://cocoapods.org)

## Generating Docs

First, clone the repository by opening Terminal.app
and running the following commands:

```terminal
$ git clone git@github.com:A01334390/pagatodoChallenge.git
$ cd pagatodoChallenge
$ cd pagatodoChallenge
```

Next, download project dependencies with CocoaPods using the command:

```terminal
$ pod install
```

Use [Jazzy](https://github.com/realm/jazzy)
to generate web pages from the documentation comments of this Swift project:

```terminal
$ bundle exec jazzy -o Docs
```

Now open the `index.html` from the `Docs` directory
to view the generated documentation:

```terminal
$ open Docs/index.html
```

## License

This project is released under a Copyright (C) 2020 Fernando Martin Garcia Del Angel License
See the LICENSE file for more info.

repository: martingdela/pagatodoChallenge

repo_name: martingdela/pagatodoChallenge


text:
# _Island Resort_

#### _Resort Website for Punta Cana, 07/31/2018_

#### By _**Kendra Kelly & MAly Phongsavanh**_

## Description

_This website consists of 7 html files including and index.html as the homepage. It is styled using a css stylesheet. Each page contain an unordered list of links to the other pages._

## Setup/Installation Requirements

* _clone this repository_
* _use a simple text editor to edit the html & css files_
* _make changes in the html files to update content_
* _make changes in the css file to change websites styling_

## Support and contact details

_Please feel free to get in contact with us at<EMAIL_ADDRESS>&<EMAIL_ADDRESS>Also feel free to contribute to our code._

## Technologies Used

_We used HTML and CSS._

### License

*MIT*

Copyright (c) 2018 **_Kendra Kelly & Maly Phongsavanh_**

repository: malyphong/Punta-Cana

repo_name: malyphong/Punta-Cana


text:
# bwcontrol

Introduction
============

**bwcontrol** is an control plugin for bottled water. It means that the plugin can control Bottledwater process by APIs and this plugin support configurable whitelist of table feature. Also, have communication interface with Kafka-Connect with JSON format via HTTP..

**bwcontrol** is released under PostgreSQL license.

Requirements
============

* PostgreSQL 9.5+
* Bottledwater (custmized version: https://github.com/kayform/bottledwater-pg.git)

For addtional interworking
Refer to https://github.com/confluentinc

* Kafka Broker
* Schema registry
* zookeeper
* Kafka-Connect

Build and Install
=================

This extension is supported on [those platforms](http://www.postgresql.org/docs/current/static/supported-platforms.html) that PostgreSQL is. The installation steps depend on your operating system.

You can also keep up with the latest fixes and features cloning the Git repository.

```
$ git clone https://github.com/kayform/bwcontrol.git
```

Unix based Operating Systems
----------------------------

Before use this extension, you should build it and load it at the desirable database.

```
$ git clone https://github.com/kayform/bwcontrol.git
$ PATH=/path/to/bin/pg_config:$PATH
$ USE_PGXS=1 make
$ USE_PGXS=1 make install
```

Configuration
=============

You need to add some  parameters at postgresql.auto.conf:

```
bw.bwpath = '/path/to/bin/bottledwater'
bw.kafka_broker = 'KAFKA:9092'
bw.schema_registry='KAFKA:8081'
bw.consumer='KAFKA:8083/connectors'
```

After changing these parameters, a restart or reload using 'pg_reload_conf()' is needed.

Examples
========

calling functions via SQL.

1. Create connection with Kafka-connect to synchronize whithlisting of table.
	testdb=# pg_make_kafka_connect("testconnection");
	INFO:  Success(0)
2. Make whitelisting of table.
	testdb=# pg_add_ingest_table("myschema", "testtable", 1, 1, '');
	INFO:  Success(0)
3. Remove table from whitelist to except sync with Kafka-connect.
	testdb=# pg_del_ingest_table("myschema", "testtable");
	INFO:  Success(0)
4. Check status (bwttledwater, replication_slot, kafka connect, whitelist).
	testdb=# select pg_get_status_ingest();
	INFO:  process running(0)
5. Drop connection with Kafka-connect.

You are ready to try bwcontrol. In one terminal:

```
```

In another terminal: kafka consol consumer

```
```

The output in the terminal is: kafka consol consumer

```
```

Dropping ...

```
```

SQL functions
-------------

pg_add_ingest_table(text table_schema, text table_name, int bigdata_type, int operation_type, text remark);
pg_del_ingest_table(text table_schema, text table_name)
pg_resume_ingest()
pg_suspend_ingest()
pg_get_status_ingest()
pg_make_kafka_connect(text connect_name)
pg_delete_kafka_connect(text connect_name)

License
=======
> bwcontrol is released under the PostgreSQL License, a liberal Open Source license, similar to the BSD or MIT licenses.

> Copyright 2016 K4M, Inc. All rights reserved.

> Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies.

> IN NO EVENT SHALL THE AUTHOR BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

> THE AUTHOR SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE AUTHOR HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.

>

license: PostgreSQL

repository: kayform/bwcontrol

repo_name: kayform/bwcontrol


text:
---
published: false
title: Behavior Driven Development
menus:
  - Work Decomposition
  - Test Architecture
tags: [pending]
---

Behavior Driven Development is the collaborative process where we discuss the intent and behaviors of a feature and
document the understanding in a declarative, testable way. These testable acceptance criteria should be the
[Definition of Done](./../workflow-management/definition-of-done.html) for a
user story.
BDD is **not** a technology or automated tool. BDD is the process for **defining** the behavior. We can then write
automated tests for those behaviors.

---

## Recommended Practices

Gherkin is the domain specific
language that allows acceptance criteria to be expressed in "Arrange, Act, Assert" in a
way that is understandable to all stakeholders.
Example:

```gherkin
As an hourly associate I want to be able to log my arrival time so that I can be
paid correctly.
Given I am not clocked in
When I enter my associate number
Then my arrival time will be logged
And I will be notified of the time
Given I am clocked in
When I enter my associate number
And I have been clocked in for more than 5 minutes
Then I will be clocked out
And I will be notified of the time
Given I am clocked in
When I enter my associate number
And I have been clocked in for less than 5 minutes
Then I will receive an error
```

---

### Using Acceptance Criteria to Negotiate and Split

With the above criteria, it may be acceptable to remove the time validation and
accelerate delivery of the time logging ability. After delivery, the validation
may not be required. If true, we've saved money and time by NOT delivering
unneeded features.
First we deliver the ability to clock in and see if we really do need the ability
to verify.

```gherkin
As an hourly associate I want to be able to log my arrival time so that I can be
paid correctly.
Given I am not clocked in
When I enter my associate number
Then my arrival time will be logged
And I will be notified of the time
Given I am clocked in
When I enter my associate number
Then I will be clocked out
And I will be notified of the time
```

If, in production, we discover that the sanity check is required to prevent time
clock issues, we can quickly add that behavior.

```gherkin
As an hourly associate I want to be prevented from clocking out immediately after
clocking in.
Given I am clocked in
And I have been clocked in for more than 5 minutes
When I enter my associate number
Then I will be clocked out
And I will be notified of the time
Given I am clocked in
And I have been clocked in for less than 5 minutes
When I enter my associate number
Then I will receive an error
```

---

### Tips

- Scenarios should be written from the point of view of the consumer.
- Scenarios should be focused on a specific function and should not attempt to
  describe multiple behaviors.
- If a story has more than 6 acceptance criteria, it can probably be split.
- No acceptance test should contain more than 10 conditions. In fact, much less
  is recommended.

---

## References

- [Gherkin Reference](https://cucumber.io/docs/gherkin/reference/)
- [BDD Process Information](https://lizkeogh.com/behaviour-driven-development/)
- [Better Executable Specifications](https://www.youtube.com/watch?v=5CXSEINRojM) - Dave Farley

---

_[Back To Work Decomposition Journey](./work-breakdown.html)_

repository: bdfinst/engineering

repo_name: bdfinst/engineering


text:
---
layout: page
title: User Guide
---
## Table of Contents
* [Introduction](#introduction)
* [Feature List](#feature-list)
  * [General Commands](#general-commands)
  * [Task-Specific Commands](#task-specific-commands)
  * [Event-Specific Commands](#event-specific-commands)
  * [Commands Related to Both Task and Event](#commands-related-to-both-task-and-event)
* [Public Parameters for Tasks and Events](#public-parameters-for-tasks-and-events)
  * [Common to both Task and Event](#common-to-both-task-and-event)
  * [Task-Specific](#task-specific)
  * [Event-Specific](#event-specific)
* [Common Arguments](#common-arguments)
* [Quick start](#quick-start)
* [Features](#features)
* [FAQ](#faq)
* [Command Summary](#command-summary)

**:information_source: Note:**

The name SOChedule is case-insensitive in the text and images in this User Guide.

i.e. SOChedule, SoChedule, Sochedule can be used interchangeably.

## Introduction
SOChedule is a one-stop solution for NUS School of Computing (SoC) students to manage their tasks and events effectively.
Targeted at users who can type fast and prefer typing to mouse input, SOChedule is optimized for use via a Command Line Interface (CLI)
while still having the benefits of a Graphical User Interface (GUI).

## Feature List

### General Commands
* Viewing help: [`help`](#viewing-help-help)
* Exiting the program: [`exit`](#exiting-the-program-exit)

### Task-Specific Commands
* Adding a task: [`add_task`](#adding-a-task-add_task)
* Deleting a task: [`delete_task`](#deleting-a-task-delete_task)
* Editing a task: [`edit_task`](#editing-a-task-edit_task)
* Listing all tasks: [`list_task`](#listing-all-tasks-list_task)
* Marking one or more tasks as done : [`done_task`](#marking-one-or-more-tasks-as-done-done_task)
* Marking a task as uncompleted : [`undone_task`](#marking-a-task-as-uncompleted-undone_task)
* Getting today's tasks: [`today_task`](#getting-todays-tasks-today_task)
* Finding tasks by name: [`find_task`](#finding-tasks-by-name-find_task)
* Sorting all tasks: [`sort_task`](#sorting-all-tasks-sort_task)
* Pinning a task: [`pin_task`](#pinning-a-task-pin_task)
* Unpinning a task: [`unpin_task`](#unpinning-a-task-unpin_task)
* Clearing completed tasks: [`clear_completed_task`](#clearing-completed-tasks-clear_completed_task)
* Clearing expired tasks: [`clear_expired_task`](#clearing-expired-tasks-clear_expired_task)

### Event-Specific Commands
* Adding an event: [`add_event`](#adding-an-event-add_event)
* Deleting an event: [`delete_event`](#deleting-an-event-delete_event)
* Editing an event: [`edit_event`](#editing-an-event-edit_event)
* Listing all events: [`list_event`](#listing-all-events-list_event)
* Getting today's events: [`today_event`](#getting-todays-events-today_event)
* Finding events by name: [`find_event`](#finding-events-by-name-find_event)
* Clearing expired events: [`clear_expired_event`](#clearing-expired-events-clear_expired_event)
* Finding free time slots: [`free_time`](#finding-free-time-slots-free_time)

### Commands Related to Both Task and Event
* Finding schedule given a date: [`find_schedule`](#finding-schedule-given-a-date-find_schedule)
* Summarising tasks and events completion status: [`summary`](#summarising-tasks-and-events-statistics-summary)
* Clearing SOChedule: [`clear`](#clearing-sochedule-clear)

[Return to Table of Contents](#table-of-contents)

## Public Parameters for Tasks and Events
As listed below are the attributes to be specified for Tasks and Events. All parameters are mandatory unless otherwise stated.

### Common to both Task and Event

        Attribute
        Identifier
        Restriction(s)

        Name
        n/

Maximum 30 characters in length

        Category
        c/

Maximum 15 characters in length each

None, single or multiple Categories can be assigned to a single element

No spaces are allowed

        Tag
        t/

Maximum 15 characters in length each

None, single or multiple Tags can be assigned to a single element

No spaces are allowed

### Task-Specific

        Attribute
        Identifier
        Restriction(s)

        Deadline
        d/

Follows the format YYYY-MM-DD

Must be a date later than or on the date of task creation

        Priority
        p/

Single digit integer ranging from 0 to 9 inclusive

0 is highest in priority, while 9 is lowest

### Event-Specific

        Attribute
        Identifier
        Restriction(s)

        Start Date
        sd/

Follows the format YYYY-MM-DD

Date earlier than date of creation allowed (for ongoing events)

        End Date
        ed/

Follows the format YYYY-MM-DD

Must be a date later than or on the date of creation

Must be a date after or on start date (Subject to Time attribute constraints)

        Start Time
        st/

Follows the format of hh:mm, in a 24-hour format

        End Time
        et/

Follows the format of hh:mm, in a 24-hour format

If start date is the same as end date, end time must be a time after start time

[Return to Table of Contents](#table-of-contents)

## Common Arguments
Below are a few arguments commonly found in SOChedule commands, and their corresponding restrictions, command-specific restrictions notwithstanding.
Breaking any of the below restrictions will result in a invalid command format error.

        Attribute
        Restriction(s)
        Used in
        Examples

        INDEX

Positive integer greater than zero

Not greater than 2147483647 (Due to language constraints)

Only one INDEX allowed per command, unless explicitly stated otherwise

Subject to command-specific restrictions

delete_task

edit_task

done_task

undone_task

pin_task

unpin_task

delete_event

edit_event

            Valid:

1

2147483647

            Invalid:

!#&%

2147483648

0

-123

        Date-related arguments

DEADLINE (For Task)

STARTDATE (For Event)

ENDDATE (For Event)

Follows the format of YYYY-MM-DD

y means the year, M means the month and D means the day

All characters are integers, less delimiters

Must be a valid date

Subject to command-specific restrictions

add_task

edit_task

add_event

edit_event

            Valid:

1990-12-25

2020-04-01

            Invalid:

!#&%

XXXX-XX-XX

2021-02-29

        Time-related arguments

STARTTIME (For Event)

ENDTIME (For Event)

Follows the format of hh:mm, in a 24-hour format

h means the hour, m means the time

All characters are integers, less delimiters

Must be a valid time

Subject to command-specific restrictions

add_event

edit_event

            Valid:

23:59

08:00

00:00

            Invalid:

!#&%

XX:XX

24:00

[Return to Table of Contents](#table-of-contents)

--------------------------------------------------------------------------------------------------------------------

## Quick start

1. Ensure you have Java `11` or above installed in your Computer.

1. Download the latest `SOChedule.jar` from [here](https://github.com/AY2021S2-CS2103-W16-1/tp/releases).

1. Copy the file to the folder you want to use as the _home folder_ for your SOChedule.

1. Double-click the file to start the app. The GUI similar to the below should appear in a few seconds. A sample SOChedule is given below. There would not be pre-entered data on first launch so that users start using immediately.

    ![Ui](images/Ui.png)

1. Type the command in the command box and press Enter to execute it. e.g. typing **`help`** and pressing Enter will open the help window.

   Some example commands you can try:

   * **`list_task`** : Lists all tasks.

   * **`add_task`**`n/CS2103 assignment d/2022-04-07 p/1 c/schoolwork t/urgent` : Adds a task named `CS2103 assignment` to the SOChedule with its respective attributes. Please verify the validity of the date parameter.

   * **`delete_task`**`3` : Deletes the 3rd task shown in the current list.

   * **`exit`** : Exits the app.

1. Refer to the [Features](#features) below for details of each command.

[Return to Table of Contents](#table-of-contents)

--------------------------------------------------------------------------------------------------------------------

## Features

**:information_source: Notes about the command format:**

* Words in `UPPER_CASE` are the parameters to be supplied by the user.

  e.g. in `undone_task INDEX`, `INDEX` is a parameter which can be used as `undone_task 1`.

* Items in square brackets are optional.

  e.g `n/TASKNAME [t/TAG]` can be used as `n/Quiz t/CS2103` or as `n/Quiz`.

* Items with `…` after them can be used multiple times including zero times.

  e.g. `[t/TAG]…` can be used as ` ` (i.e. 0 times), `t/friend`, `t/friend t/family` etc.

* If a parameter is expected only once in the command, but you specified it multiple times, only the last occurrence of the parameter will be taken.

  e.g. if you specify `p/1 p/2`, only `p/2` will be taken.

* Extraneous parameters for commands that do not take in parameters (such as `list_task`, `list_event`) will be ignored.

  e.g. if the command specifies `list_task 123`, it will be interpreted as `list_task`.

[Return to Table of Contents](#table-of-contents)

### Viewing help: `help`
Shows a message explaining how to access the help page.
![helpMessage](images/helpMessage.png)

[Return to Feature List](#feature-list)

### Exiting the program: `exit`
Exits the program.

[Return to Feature List](#feature-list)

### Adding a task: `add_task`
Adds a task into the task list.

Format: `add_task n/TASKNAME d/DEADLINE p/PRIORITY [c/CATEGORY]... [t/TAG]...`
* `n/` is followed by the task name, it is case-sensitive.
* `d/` is followed by the date of deadline, with the format `YYYY-MM-DD`.

  Deadline cannot be a past date.
* `p/` is followed by the priority, with 0 being highest and 9 being lowest.

  Other inputs are not accepted.
* `c/` is followed by the category. Different categories are separated by white space (e.g. `c/c1 c/c2`).

  It is optional.
* `t/` is followed by the tag. Different tags are separated by white space (e.g. `t/t1 t/t2`).

  It is optional.

**:information_source: Note:**

* Any valid prefixes and input arguments (e.g. n/Homework 1 or p/1) followed by invalid prefixes and input arguments (e.g. name/Name, tag/Tag or T&sk) will lead to an error.
* If the same prefix (excluding c/, t/) appears multiple times in the input (e.g. n/n1 n/n2 n/n3), only the last occurrence would be taken (i.e. n/n3).

Examples:
* `add_task n/CS2103 assignment d/2022-02-27 p/1 c/schoolwork t/urgent` adds a new task named "CS2103 assignment" with the respective parameters.
* `add_task n/CCA admin work d/2022-02-28 p/2 c/CCA` adds a new task "CCA admin work" with the respective parameters.

[Return to Feature List](#feature-list)

### Deleting a task: `delete_task`
Deletes a task from the task list.

Format: `delete_task INDEX`
* Deletes the task at the specified INDEX.
* The `INDEX` refers to the index number shown in the currently **displayed** task list.

Examples:
* `list_task` followed by `delete_task 2` deletes the second task in the full task list.
* `find_task homework` followed by `delete_task 1` deletes the first task in the result of the `find_task` command.

[Return to Feature List](#feature-list)

### Editing a task: `edit_task`
Edits an **existing and uncompleted** task in the task list.

Format: `edit_task INDEX [n/TASKNAME] [d/DEADLINE] [p/PRIORITY] [c/CATEGORY]... [t/TAG]...`
* Edits the task at the specified `INDEX`.
* Only an **existing and uncompleted** task can be edited.

  (i.e. Completed tasks cannot be edited)
* **At least one** of the optional fields must be provided.
* `DEADLINE` provided cannot be a past date.
* When editing tags/categories, the existing tags/categories of the task will be removed.

  (i.e. adding of tags/categories is not cumulative)
* Edited task cannot be the same as the original task or equivalent to another existing task in the task list.

  Same tasks means the name, priority, deadline, tags (if any) and categories (if any) of two tasks are equal.
* When editing tags and categories, the order given in the input and the order as shown in the UI can be different.

  For example, in input `edit_task 1 t/t2 t/t10`, `t/t2` is before `t/10`, but `t10` may appear in the UI before `t2`.
  Lexicographical order is followed.

**:information_source: Note:**

* Any valid prefixes and input arguments (e.g. n/Homework 1 or p/1) followed by invalid prefixes and input arguments (e.g. name/Name, tag/Tag or T&sk) will lead to an error.

* You can remove all the task’s tags by typing t/ without specifying any tags after it.

  Similarly, you can remove all the task’s categories by typing c/ without specifying any categories after it

* If the same prefix (excluding c/, t/) appears multiple times in the input (e.g. n/n1 n/n2), the latter one would be taken (i.e. n/n2).

Examples:
* `edit_task 1 n/t1` edits the name of the first task (if present in SOChedule) to be `editedTaskName`.
* `edit_task 2 p/3 t/` edits the priority of the second task (if present in SOChedule) to be `3` and clears all existing tags.

#### Illustration of usage of `edit_task`:
![Example of usage of `edit task`](images/EditTaskUsage.png)

[Return to Feature List](#feature-list)

### Listing all tasks: `list_task`
Lists all tasks from the task list.

Format: `list_task`

[Return to Feature List](#feature-list)

### Marking one or more tasks as done: `done_task`
Marks one or more task from the task list as completed.

Format: `done_task INDEX1 [INDEX2] ...`
* Marks the task(s) at the specified INDEX(es) as completed.
* Specified task(s) must not be completed.
* Multiple indices are to be separated by a whitespace, e.g. `1 2`.
* All specified tasks must be **uncompleted and existing** before calling this command.
* **Duplicate indices** are not allowed.

  Otherwise, an error message indicating invalid command format will be returned.

**:information_source: Note:**

* If indices provided include both an index for a task not existing in task list and an index for a completed task,
  the error message will only be about the non-existing task.

Examples:
* `done_task 1 2` marks the first and second task in the task list as completed.

#### Illustration of usage of `done_task`:
![Example of usage of `done task`](images/DoneTaskUsage.png)

[Return to Feature List](#feature-list)

### Marking a task as uncompleted: `undone_task`
Marks a completed task from the task list as uncompleted.

Format: `undone_task INDEX`
* Marks the task at the specified INDEX as uncompleted.
* Specified task must be complete.

Examples:
* `undone_task 1` marks the first task in the task list as uncompleted.

#### Illustration of usage of `undone_task`:
![Example of usage of `undone task`](images/UndoneTaskUsage.png)

[Return to Feature List](#feature-list)

### Getting today's tasks: `today_task`
Lists all tasks that have deadline on today from the task list.

Format: `today_task`

[Return to Feature List](#feature-list)

### Finding tasks by name: `find_task`
Finds tasks whose names contain any of the given keywords from the task list.

Format: `find_task KEYWORD1 [KEYWORD2] ...`
* The search is **case-insensitive**, e.g. `homework` will match `Homework`.
* The search scope is the **full** task list.
* The order of the keywords does not matter.

  E.g. `Practice Problems` will match `Problems Practice`.
* Only the name of the tasks is searched.
* Only full words will be matched. E.g. `CS` will not match `CS2103`.
* Tasks matching at least one keyword will be returned (i.e. `OR` search).

  E.g. `CS2103 Homework` will return `ST2131 Homework`, `CS2103 Quiz`.

Examples:
* `find_task Homework` returns `st2131 homework` and `Homework 1`
* `find_task assignment homework` returns `Assignment 1`, `Homework 2`

![find_task example](images/find_task-example.png)

[Return to Feature List](#feature-list)

### Sorting all tasks: `sort_task`
Sorts the task list.

Format: `sort_task ARGUMENT`
* Sorts task list and updates UI based on supplied argument.
* Accepted arguments (case-sensitive):
   * `name`: Sorts by task name, in increasing lexicographical order
   * `deadline`: Sorts by task deadline, in increasing date order
   * `completion`: Sorts by task completion status, with completed tasks at the bottom
   * `priority`: Sorts by task priority, in decreasing order, from priority 0 on top, to priority 9 at the bottom
* On subsequent boots, the following will happen:
   * Relative order from previous launch will be preserved.
   * However, if any order-altering command (`pin_task`, `unpin_task`, and `find_task`) is issued, tasks will be sorted by name by default, unless otherwise stated by another `sort_task` command.
   * Marking a task as complete (`done_task`) or incomplete (`undone_task`) or adding (`add_task`) and editing (`edit_task`) tasks does not constitute an order-altering command.

Examples:
* `sort_task completion` sorts the task list by completion status.
* `sort_task name` sorts the task list by name.

#### Illustration of usage of `sort_task`:
![Example of usage of `sort_task`](images/SortTaskUsage.png)

[Return to Feature List](#feature-list)

### Pinning a task: `pin_task`
Pins a task from the task list.

Format: `pin_task INDEX`
* Pins the task at the specified INDEX.
* Already pinned tasks will be unable to be pinned a second time.
* The index refers to the index number shown in the displayed task list.
* After pinning, the Task List will be sorted either according to previously entered `sort_task` command, or name (by default). See [here](#illustration-of-the-interaction-between-pin_task-and-sort_task).
    * Should there be two or more pinned tasks, the pinned tasks will be sorted as well.
    * Only the fact that pinned tasks will appear over the unpinned tasks is guaranteed.

      Internal order of pinned tasks is not persistent over `sort_task`.
* Pinned tasks are persistent over instances of SOChedule.

Examples:
* `pin_task 1` pins the first task in the task list

#### Illustration of usage of `pin_task`:
![Example of usage of `pin_task`](images/PinTaskUsage.png)

#### Illustration of the interaction between `pin_task` and `sort_task`:
![Example of interaction of `pin_task` with `sort_task`](images/PinTaskInteractionWithSortTask.png)

[Return to Feature List](#feature-list)

### Unpinning a task: `unpin_task`
Unpins a task from the task list.

Format: `unpin_task INDEX`
* Unpins the task at the specified INDEX.
* Follows similar restrictions to `pin_task`.

Examples:
* `unpin_task 1` unpins the first task in the task list

#### Illustration of usage of `unpin_task`:
![Example of usage of `unpin_task`](images/UnpinTaskUsage.png)

[Return to Feature List](#feature-list)

### Clearing completed tasks: `clear_completed_task`
Clears tasks marked as completed from the task list.

Format: `clear_completed_task`

**:information_source: Note:**

* This command is still able to be executed on a task list without any completed tasks.

  In this case, success message `Completed tasks (if any) have been cleared!` will still be displayed.

  However, no tasks will be cleared since there are no completed tasks.

#### Illustration of usage of `clear_completed_task`:
![Example of usage of `clear_completed_task`](images/ClearCompletedTaskUsage.png)

[Return to Feature List](#feature-list)

### Clearing expired tasks: `clear_expired_task`
Clear tasks with past deadlines from the task list.

Format: `clear_expired_task`
* For a task to be considered expired, the task's `deadline` should be an earlier date as compared to the local date on the user's computer.

  Hence, changing of date on a computer could affect the judgement of expiration.

**:information_source: Note:**

* This command is still able to be executed on a task list without any expired tasks.

  In this case, success message `Expired tasks (if any) have been cleared!` will still be displayed.

  However, no tasks will be cleared since there are no expired tasks.

#### Illustration of usage of `clear_expired_task`:
![Example of usage of `clear_expired_task`](images/ClearExpiredTaskUsage.png)

[Return to Feature List](#feature-list)

### Adding an event: `add_event`
Adds an event to the event list.

Format: `add_event n/EVENTNAME sd/STARTDATE st/STARTTIME ed/ENDDATE et/ENDTIME [c/CATEGORY]... [t/TAG]...`
* `n/` is followed by the event name, it is case-sensitive.
* `sd/` is followed by the starting date, in the format of **YYYY-MM-DD**.
* `st/` is followed by the starting time in the 24-hour format and in the format of **hh:mm**
* `ed/` is followed by the ending date.
* `et/` is followed by the ending time in the 24-hour format.
* The `ENDDATE` and `ENDTIME` provided must be **after** `STARTDATE` and `STARTTIME`.
* The `ENDDATE` and `ENDTIME` provided cannot be a past date and time.
* `c/` is followed by the category. Different categories are separated by white space (e.g. `c/c1 c/c2`).

  It is optional.
* `t/` is followed by the tag. Different tags are separated by white space (e.g. `t/t1 t/t2`).

  It is optional.

**:information_source: Note:**

* The `STARTDATE` and `STARTTIME` provided can be in the past for ongoing events.

* Events that overlap in date and time are allowed.

* Any valid prefixes and input arguments (e.g. n/Meeting 1 or st/14:00) followed by invalid prefixes and input arguments (e.g. name/Name, tag/Tag or E@ent) will lead to an error.

* If the same prefix (excluding c/, t/) appears multiple times in the input (e.g. n/n1 n/n2 n/n3), only the last occurrence would be taken (i.e. n/n3).

Examples:
* `add_event n/CS2103 meeting sd/2021-05-27 st/15:00 ed/2022-02-27 et/17:00` adds an event with name `CS2103` and its
  respective attributes to the event list.

[Return to Feature List](#feature-list)

### Deleting an event: `delete_event`
Deletes an event from the event list.

Format: `delete_event INDEX`
* Deletes the event at the specified INDEX.
* Note that only one `INDEX` is accepted, multiple `INDEX` will lead to input format error.
* The `INDEX` refers to the index number shown in the **displayed** event list.

Examples:
* `delete_event 3` deletes the third event from the event list.

[Return to Feature List](#feature-list)

### Editing an event: `edit_event`
Edits an **existing and uncompleted** event in the event list.

Format: `edit_event INDEX [n/EVENTNAME] [sd/STARTDATE] [st/STARTTIME] [ed/ENDDATE] [et/ENDTIME] [c/CATEGORY]... [t/TAG]...`
* Edits the event at the specified `INDEX`.
* An expired event could only be edited when users edit the past end date and time to an unexpired end date and time.

  (i.e. top extend the event).
* Except the condition above, only **unexpired** event can be edited.
* **At least one** of the optional fields must be provided.
* The `ENDDATE` and `ENDTIME` provided must be **after** `STARTDATE` and `STARTTIME`.
* The `ENDDATE` and `ENDTIME` provided cannot be a past date and time.
* When editing tags/categories, the existing tags/categories of the event will be removed.

  (i.e. adding of tags/categories is not cumulative)
* When editing tags and categories, the order given in the input and the order as shown in the UI can be different.

  For example, in input `edit_event 1 t/tag1 t/tag2`, `t/tag1` is before `t/tag2`, but `tag2` may appear in the UI before `tag1`.

**:information_source: Note:**

* The `STARTDATE` and `STARTTIME` provided can be in the past for ongoing events.

* Events that overlap in date and time are allowed.

* Any valid prefixes and input arguments (e.g. n/Meeting or st/00:00) followed by invalid prefixes and input arguments (e.g. name/Name, tag/Tag or E@ent) will lead to an error.

* You can remove all the event’s tags by typing t/ without specifying any tags after it.

  Similarly, you can remove all the event’s categories by typing c/ without specifying any categories after it

* If the same prefix (excluding c/, t/) appears multiple times in the input (e.g. n/n1 n/n2), the latter one would be taken (i.e. n/n2).

Examples:
* `edit_event 1 n/editedEventName` edits the name of the first event (if present in the event list) to be
  `editedEventName`.
* `edit_event 2 sd/2021-03-18 t/` edits the start date of the second event (if present in the event list) to be
  `2021-03-18`and clears all existing tags.

[Return to Feature List](#feature-list)

### Listing all events: `list_event`
Lists all events from the event list.

Format: `list_event`

[Return to Feature List](#feature-list)

### Getting today's events: `today_event`
Lists all events whose duration have overlap with today from the event list.

Format: `today_event`

[Return to Feature List](#feature-list)

### Finding events by name: `find_event`
Finds events whose names contain any of the given keywords from the event list.

Format: `find_event KEYWORD1 [KEYWORD2] ...`
* The search is case-insensitive, e.g. `meeting` will match `Meeting`.
* The search scope is the **full** task list.
* The order of the keywords does not matter.

  E.g. `Attending Lecture` will match `Lecture Attending`.
* Only the name of the events is searched.
* Only full words will be matched. E.g. `CS` will not match `CS2103`.
* Events matching at least one keyword will be returned (i.e. `OR` search).

  E.g. `CS2103 Meeting` will return `Project Meeting`, `CS2103 Lecture`.

Examples:
* `find_event Meeting` returns `project meeting` and `Research Meeting`.
* `find_event talk competition` returns `Career Talk`, `Coding Competition`
  ![find_event example](images/find_event-example.png)

[Return to Feature List](#feature-list)

### Clearing expired events: `clear_expired_event`
Clears events with past end date time from the event list.

Format: `clear_expired_event`
* For an event to be considered expired, the event should have earlier end date and time as compared to the local time on the user's computer.

  Hence, changing of timing on a computer could affect the judgement of expiration.

**:information_source: Note:**

* This command is still able to be executed on a event list without any expired event.

  In this case, success message `Expired events (if any) have been cleared!` will still be displayed.

  However, no event will be cleared since there are no expired event.

#### Illustration of usage of `clear_expired_event`:
![Example of usage of `clear_expired_event`](images/ClearExpiredEventUsage.png)

[Return to Feature List](#feature-list)

### Finding free time slots: `free_time`
Finds all free time slots on the given date from the event list.

Format: `free_time DATE`
* **Free time slots** refer to all times in the given date without any ongoing event.
* Date entered must be a valid date and in the format of `YYYY-MM-DD`.
* Date entered must be a date from current date onwards.
* Only one single date can be entered.

Examples:
* `free_time 2022-02-01` finds all free time slots on the given date `2022-02-01`.

#### Illustration of usage of `free_time`:
![Example of usage of `free_time`](images/FindFreeTimeExample.png)

[Return to Feature List](#feature-list)

### Finding schedule given a date: `find_schedule`
Given a specified date, finds uncompleted tasks that are due before or on the date
and events that are ongoing on the date.

Format: `find_schedule DATE`
* Tasks found will be incomplete tasks with deadlines before or on the specified date.
* Events found will be events where specified date falls between start date (inclusive) and end date (inclusive).

  (i.e. ongoing events)
* Date entered must be in the format of `YYYY-MM-DD`.

  It can be a date that is earlier than today.
* Only one single date can be entered.

**:information_source: Note:**

* After running `find_schedule`, `list_task` and `list_event` can be used to display the whole task list and event list respectively.

Examples:
* `find_schedule 2021-04-10` finds:
  * All existing uncompleted tasks with deadlines before or on `2021-04-10`.
  * All existing events where `2021-04-10` falls between start date (inclusive) and end date (inclusive).

#### Illustration of usage of `find_schedule`:

Due to size constraint, this illustration is split into the before and after view for task list and that for event list.

For task list:

![Example of usage of `find schedule(task)`](images/FindScheduleUsageTask.png)

For event list:

![Example of usage of `find schedule(event)`](images/FindScheduleUsageEvent.png)

[Return to Feature List](#feature-list)

### Summarising tasks and events statistics: `summary`
Displays a summary of tasks completion status and events upcoming for the next 7 days.

Format: `summary`
* **Completed tasks** refer to tasks that are done regardless of when the deadline is.
* **Overdue tasks** refer to incomplete tasks, and current date has passed the deadline.
* **Tasks to be completed before deadline** refer to incomplete tasks, and current date now has not passed the deadline.
* **Events upcoming in the next 7 days** refer to events that are going to happen in the next 7 days.

  Events that are happening today are not included.

#### Illustration of usage of `summary`:
![Example of usage of `summary`](images/SummaryExample.png)

[Return to Feature List](#feature-list)

### Clearing SOChedule: `clear`
Clears all tasks and events in the SOChedule's task list and event list.

Format: `clear`

#### Illustration of usage of `clear`:
![Example of usage of `clear`](images/ClearExample.png)

[Return to Feature List](#feature-list)

[Return to Table of Contents](#table-of-contents)

--------------------------------------------------------------------------------------------------------------------

## FAQ

**Q**: How do I transfer my data to another Computer?

**A**: Download the JAR file onto the other computer and overwrite the empty data file it creates with the file that contains the data of your previous SOChedule home folder (this is contained within the `/data` folder in the same location as your SOChedule.jar.

[Return to Table of Contents](#table-of-contents)

--------------------------------------------------------------------------------------------------------------------

## Command summary

### General commands

Action | Format, Examples
--------|------------------
**Help** | `help`
**Exit** | `exit`

### Task-related commands

Action | Format, Examples
--------|------------------
**Add** | `add_task n/TASKNAME d/DEADLINE p/PRIORITY [c/CATEGORY]... [t/TAG]...`
 e.g. `add_task n/CS2103 assignment d/2022-02-27 p/1 c/schoolwork t/urgent`
**Delete** | `delete_task INDEX`
e.g. `delete_task 1`
**Edit** | `edit_task INDEX [n/TASKNAME] [d/DEADLINE] [p/PRIORITY] [c/CATEGORY]... [t/TAG]...`
 e.g. `edit_task 1 n/editedTaskName`
**List** | `list_task`
**Done** | `done_task INDEX1 [INDEX2] ...`
e.g. `done_task 1 2`
**Undone** | `undone_task INDEX`
e.g. `undone_task 1`
**Today** | `today_task`
**Find** | `find_task KEYWORD1 [KEYWORD2] ...`
e.g. `find_task homework`
**Sort** | `sort_task ARGUMENT`
e.g. `sort_task name`
**Pin** | `pin_task INDEX`
e.g. `pin_task 1`
**Unpin** | `unpin_task INDEX`
e.g. `unpin_task 1`
**Clear Completed** | `clear_completed_task`
**Clear Expired** | `clear_expired_task`

### Event-related commands

Action | Format, Examples
--------|------------------
**Add** | `add_event n/TASKNAME sd/STARTDATE st/STARTTIME ed/ENDDATE et/ENDTIME [c/CATEGORY]... [t/TAG]...`
 e.g. `add_event n/CS2103 meeting sd/2022-02-27 st/15:00 ed/2022-02-27 et/17:00`
**Delete** | `delete_event INDEX`
e.g. `delete_event 3`
**Edit** | `edit_event INDEX [n/EVENTNAME] [sd/STARTDATE] [st/STARTTIME] [ed/ENDDATE] [et/ENDTIME] [c/CATEGORY]... [t/TAG]...`
 e.g. `edit_event 1 n/editedEventName`
**List** | `list_event`
**Today** | `today_event`
**Find** | `find_event KEYWORD1 [KEYWORD2] ...`
e.g. `find_event meeting`
**Clear Expired** | `clear_expired_event`
**Find Free Time** | `free_time DATE`
e.g. `free_time 2022-01-01`

### Commands related to both task and event

Action | Format, Examples
--------|------------------
**Find Schedule** | `find_schedule DATE`
e.g. `find_schedule 2022-06-01`
**Clear Schedule** | `clear`
**Summary** | `summary`

[Return to Table of Contents](#table-of-contents)

repository: ljhgabe/SoChedule

repo_name: ljhgabe/SoChedule


text:
---
prev: false
next: false
tags:
  - url verification
  - domain verification
  - wordpress
  - woocommerce
---

# How to verify the domain or URL of your WordPress website?

If you have configured Unikname Connect with the [Unikname for WordPress plugin](/3-unikname-connect/integration-technology/wordpress/), you may want to prove the ownership of your website.

[Despite there are several methods to validate the domain and thus the URL of your WordPress / WooCommerce website](/3-unikname-connect/howto-create-unikname-trust-certificate-organization.html#step-4-prove-the-ownership-of-your-website), we strongly recommend you to validate it with the simpler "HTML tag" method.

If you want to understand **why** you should verify the URL ot your website, [read more about the Trust Certificate](/3-unikname-connect/howto-create-unikname-trust-certificate-organization.html#trust-appearance).

:::warning Prerequisites
:heavy_check_mark: You've already installed the Command Line Interface tool on your desktop.
<hbox>_See [How to install the CLI?](/3-unikname-connect/howto-install-uns-cli)_</hbox>
:heavy_check_mark: You are at the Step 4 of the creation of your Trust Certificate
<hbox>_See [How to create and setup the Unikname Trust Certificate for your website?](/3-unikname-connect/howto-create-unikname-trust-certificate-organization.html#step-4-prove-the-ownership-of-your-website)_</hbox>
:::

**Table of Content**

[[TOC]]

::: warning
UNS/uns.network/universal-name-system is the old name of unikname.network blockchain.
UNIK is the old name of UNIKNAME nft token
UNS is the old name of UNIK protocol token
Urls and old documentation are not renamed yet but are still valid. We're updating progressively.
:::
## Generate the verification package

Run this CLI command in a terminal:

```bash
uns properties:register "@organization:my-saas-platform-101" --value "www.wordpress-domain.com"
```
Replace :
- `my-saas-platform-101` by your @unikname of type Organization
- `www.wordpress-domain.com` by the domain of your WordPress website. (without `https://`)

It will output:

```json{5}
{
  "data": {
    ...
    "value": "www.wordpress-domain.com",
    "verificationKey": "fi5TrRlrW1Dx1jEGCCEXISVKu...MImSNDM180HPDXyvF383jYj5ki-TSMrxMDiQ-pplpJxQ",
    ...
  }
}
```

The most important part is the **`verificationKey`**/verification key entry (in the above sample: `fi5TrRl...-pplpJxQ` - without `"`).

You will need to copy/paste later in your clipboard.

## Configure the verification key in your WordPress

The verification of your domain requires to expose the verification key to the crawling of a web bot (such as a search engine bot, but dedicated to Unikname ecosystem).
The best way to do that is to use the dedicated feature provided by the Unikname for WordPress plugin.

After the [installation and the set up of the plugin](/3-unikname-connect/integration-technology/wordpress/#step-1-install-the-wordpress-plugin) in your admin panel, go to "Unikname" > "General"

Add **your own `verificationKey`** (not the one provided as an example)

<hpicture>![Unikname Connect trust certificate example](./images/verificationkey-configuration.png)</hpicture>

Don't forget to save the configuration

::: tip Cache plugin
If you have a cache plugin (Divi Rocket, WP Rocket ...), you should clear its cache NOW, before going to the next step.
:::

## Verify the URL/domain of your website

Until done, finish the process by executing the following command with the CLI:

```bash
uns properties:verify "@organization:my-saas-platform-101" --url-channel html
```

Again , replace `my-saas-platform-101` by your @unikname of type Organization.

The command will tell with you its a success or will display an error message you can try to solve by yourself by [reading the troubleshooting section of the reference documentation](/3-unikname-connect/howto-create-unikname-trust-certificate-organization.html#what-to-do-when-it-doesn-t-work).

If the verification is a success, you can safely remove the "Meta Tag Manager" plugin.

**All done!**

<hseparator/>

repository: unik-name/help-unikname

repo_name: unik-name/help-unikname


text:
# How to contribute

CSLA .NET is developed and maintained by a [global development team](http://www.lhotka.net/Article.aspx?area=4&id=bbe426f7-cd06-482f-bfa7-ec5640296562) composed of volunteers. We welcome your help!

## Getting started

* Download, print, sign, scan, and return the [contributor agreement document](https://github.com/MarimerLLC/csla/blob/master/Support/Contributions/CSLA%20Contributor%20Agreement.pdf).
* Make sure you have a [GitHub account](https://github.com/signup/free)
* For beginners we suggest
  * This online course on [contributing to OSS projects on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github)
  * This excellent blog post on [Being a good open source citizen](https://hackernoon.com/being-a-good-open-source-citizen-9060d0ab9732#.4owk5884d)
* Review the [Code of Conduct](https://github.com/MarimerLLC/csla/blob/master/code_of_conduct.md)
* Review and follow the [Coding standards](https://github.com/MarimerLLC/csla/wiki/Coding-standards) we use to maintain consistent code in the framework
* Submit a ticket for your issue, assuming one does not already exist
* Fork the repository on GitHub

## Making Changes

* Create a topic/feature/issue branch from where you want to base your work.
  * This is usually the master branch.
  * Only target release branches if you are certain your fix must be on that
    branch. Releases are typically in maintenance mode and accept only
    critical bug fixes. Check with the project owners before working on
    anything other than critical bug fixes.
  * Create a branch in which to do your work.  Please avoid working directly on the
    `master` branch.
* Make commits of logical units.
* Make sure your commit messages are in the proper format.

````
    #99999 Make the example in CONTRIBUTING imperative and concrete
````

or

````
   Fixes #99999 Describe the change made in a concise manner
   Closes #9999 Describe the change made in a concise manner
````

* Make sure you have added the necessary tests for your changes.
* Run _all_ the tests to assure nothing else was accidentally broken. This is
  particularly important because CSLA .NET is cross-platform (WinRT, .NET, Silverlight,
  mono, mono for Android, etc.) and you _must_ ensure your code compiles and runs on all
  these platforms!

## Submitting Changes

* Print, sign, and email the [contributor agreement](https://github.com/MarimerLLC/csla/blob/master/Support/Contributions/CSLA%20Contributor%20Agreement.pdf?raw=true) document to Marimer LLC (rocky at lhotka dot net)
 * We will not accept large changes without a signed contributor agreement, but we may accept small edits to the existing codebase
 * By submitting a change, large or small, you grant ownership of the code and related IP to Marimer LLC, and you certify that you have the right to transfer such ownership
* Push your changes to a topic branch in your fork of the repository.
* Submit a pull request to the repository in the Marimer LLC organization.
* Update your GitHub issue to mark that you have submitted code and are ready for it to be reviewed.
  * Include a link to the pull request in the ticket

# Additional Resources

* [General GitHub documentation](http://help.github.com/)
* [GitHub pull request documentation](http://help.github.com/send-pull-requests/)
* [CSLA .NET forum](http://forums.lhotka.net/forums/5.aspx/)

repository: tfreitasleal/csla

repo_name: tfreitasleal/csla


text:
# Roadmap

- [x] Make TwinExplorer available in other context menus than for files in Solution Explorer.

Features that have a checkmark are complete and available for
download in the
[CI build](http://vsixgallery.com/extension/7e7f1316-08bb-4871-851a-4fd82d9d4d32/).

# Changelog

These are the changes to each version that has been released
on the official Visual Studio extension gallery.

## 1.1

- [x] Fixe known issue, folder location can now also be opened.

## 1.0

**2016-10-04**

- [x] Initial release
- [x] Open two Explorer windows side by side
  - [x] Select two files, open Explorer at their locations
  - [x] Select one file, open Explorer twice at its location
  - [x] Kill previous Explorer instances, keeping at max. 5

repository: fbmnds/TwinExplorer

repo_name: fbmnds/TwinExplorer