text:
ng-admin [![Build Status](https://travis-ci.org/marmelab/ng-admin.svg?branch=master)](https://travis-ci.org/marmelab/ng-admin)
========

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

Plug me to your RESTFul API to get a complete administration tool (CRUD, multi-model relationships, dashboard, complex form widgets) in no time!

[![Screencast](http://marmelab.com/ng-admin/images/screencast.png)](https://vimeo.com/118697682)

Check out the [online demo](http://ng-admin.marmelab.com/) ([source](https://github.com/marmelab/ng-admin-demo)), and the [launch post](http://marmelab.com/blog/2014/09/15/easy-backend-for-your-restful-api.html).

* [Installation](#installation)
* [Example Configuration](#example-configuration)
* [Application Configuration](#application-configuration)
* [Entity Configuration](#entity-configuration)
* [View Configuration](#view-configuration)
* [Menu Configuration](#menu-configuration)
* [Dashboard Configuration](doc/Dashboard.md)
* [Reusable Directives](#reusable-directives)
* [Relationships](#relationships)
* [Customizing the API Mapping](doc/API-mapping.md)
* [Theming](doc/Theming.md)
* [Adding Custom Pages](doc/Custom-pages.md)
* [Adding Custom Types](doc/Custom-types.md)
* [Support (via StackOverflow)](http://stackoverflow.com/questions/tagged/ng-admin)
* [Contributing](#contributing)
* [License](#license)

## Installation

Retrieve the module from bower:

```sh
bower install ng-admin --save
```

### Embed ng-admin on your page

#### Stand-alone version

If you just want to embed ng-admin script and stylesheet including all dependencies, you can use the stand-alone files. Just add them into your page:

```html
<link rel="stylesheet" href="/path/to/bower_components/ng-admin/build/ng-admin.min.css">
<script src="/path/to/bower_components/ng-admin/build/ng-admin.min.js"></script>
```

#### Including ng-admin core

If you rather like to embed dependencies separately, here is a snippet showing all required scripts:

``` html
<link rel="stylesheet" href="bower_components/bootstrap/css/bootstrap.min.css" />
<link rel="stylesheet" href="bower_components/ng-admin/build/ng-admin-only.min.css" />

<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js"></script>
<script src="bower_components/angular-bootstrap/ui-bootstrap.min.js"></script>
<script src="bower_components/angular-resource/angular-resource.min.js"></script>
<script src="bower_components/angular-sanitize/angular-sanitize.min.js"></script>
<script src="bower_components/angular-ui-codemirror/ui-codemirror.min.js"></script>
<script src="bower_components/angular-ui-router/release/angular-ui-router.min.js"></script>
<script src="bower_components/angular-numeraljs/dist/angular-numeraljs.min.js"></script>
<script src="bower_components/humane/humane.js"></script>
<script src="bower_components/inflection/inflection.min.js"></script>
<script src="bower_components/lodash/lodash.min.js"></script>
<script src="bower_components/ng-file-upload/ng-file-upload-all.min.js"></script>
<script src="bower_components/ngInflection/ngInflection.js"></script>
<script src="bower_components/nprogress/nprogress.js"></script>
<script src="bower_components/restangular/dist/restangular.min.js"></script>
<script src="bower_components/textAngular/dist/textAngular.min.js"></script>
<script src="bower_components/papaparse/papaparse.min.js"></script>
<script src="bower_components/numeral/min/numeral.min.js"></script>
<script src="bower_components/codemirror/lib/codemirror.js"></script>
<script src="bower_components/codemirror/addon/edit/closebrackets.js"></script>
<script src="bower_components/codemirror/addon/lint/lint.js"></script>
<script src="bower_components/jsonlint/lib/jsonlint.js"></script>
<script src="bower_components/codemirror/addon/lint/json-lint.js"></script>
<script src="bower_components/codemirror/addon/selection/active-line.js"></script>
<script src="bower_components/codemirror/mode/javascript/javascript.js"></script>
<script src="bower_components/ng-admin/build/ng-admin-only.min.js"></script>
```

### Configuring ng-admin

Make your application depend on ng-admin:

```js
var admin = angular.module('myApp', ['ng-admin']);
```

First step is to map ng-admin entities to your API:

```js
app.config(function (NgAdminConfigurationProvider) {
    var nga = NgAdminConfigurationProvider;
    // set the main API endpoint for this admin
    var admin = nga.application('My backend')
        .baseApiUrl('http://localhost:3000/');

    // define an entity mapped by the http://localhost:3000/posts endpoint
    var post = nga.entity('posts');
    admin.addEntity(post);

    // set the list of fields to map in each post view
    post.listView().fields(/* see example below */);
    post.creationView().fields(/* see example below */);
    post.editionView().fields(/* see example below */);

    nga.configure(app);
});
```

Your application should use a `ui-view`:
```html
<div ui-view></div>
```

### Production ready

You can enable `ng-strict-di` angular mode to boost your application performance:

```html
<body ng-app="myApp" ng-strict-di>
```

Ng-admin library is already compatible, but you have to explicitly declare dependencies on your custom application code.

See [Angular documentation](https://docs.angularjs.org/guide/production) for more details about this tweak.

## Example Configuration

We chose to define the entities & views directly in JavaScript to allow greater freedom in the configuration.

Here is a full example for a backend that will let you create, update, and delete some posts (`posts` entity). Those posts can be tagged (`tags` entity) and commented (`comments` entity).

```js

var app = angular.module('myApp', ['ng-admin']);

admin.config(function (NgAdminConfigurationProvider) {
    var nga = NgAdminConfigurationProvider;
    var app = nga.application('ng-admin backend demo', false) // application main title and debug disabled
        .baseApiUrl('http://localhost:3000/'); // main API endpoint

    // define all entities at the top to allow references between them
    var post = nga.entity('posts') // the API endpoint for posts will be http://localhost:3000/posts/:id
        .identifier(nga.field('id')); // you can optionally customize the identifier used in the api ('id' by default)

    // set the application entities
    admin.addEntity(post);

    // customize entities and views
    post.listView()
        .title('All posts') // default title is "[Entity_name] list"
        .description('List of posts with infinite pagination') // description appears under the title
        .infinitePagination(true) // load pages as the user scrolls
        .fields([
            nga.field('id').label('ID'), // The default displayed name is the camelCase field name. label() overrides id
            nga.field('title'), // the default list field type is "string", and displays as a string
            nga.field('published_at', 'date'), // Date field type allows date formatting
            nga.field('views', 'number'),
            nga.field('tags', 'reference_many') // a Reference is a particular type of field that references another entity
                .targetEntity(tag) // the tag entity is defined later in this file
                .targetField(nga.field('name')) // the field to be displayed in this list
        ])
        .listActions(['show', 'edit', 'delete']);

    post.creationView()
        .fields([
            nga.field('title') // the default edit field type is "string", and displays as a text input
                .attributes({ placeholder: 'the post title' }) // you can add custom attributes, too
                .validation({ required: true, minlength: 3, maxlength: 100 }), // add validation rules for fields
            nga.field('teaser', 'text'), // text field type translates to a textarea
            nga.field('body', 'wysiwyg'), // overriding the type allows rich text editing for the body
            nga.field('published_at', 'date') // Date field type translates to a datepicker
        ]);

    post.editionView()
        .title('Edit post "{{ entry.values.title }}"') // title() accepts a template string, which has access to the entry
        .actions(['list', 'show', 'delete']) // choose which buttons appear in the top action bar. Show is disabled by default
        .fields([
            post.creationView().fields(), // fields() without arguments returns the list of fields. That way you can reuse fields from another view to avoid repetition
            nga.field('tags', 'reference_many') // reference_many translates to a select multiple
                .targetEntity(tag)
                .targetField(nga.field('name'))
                .cssClasses('col-sm-4'), // customize look and feel through CSS classes
            nga.field('views', 'number')
                .cssClasses('col-sm-4'),
            nga.field('comments', 'referenced_list') // display list of related comments
                .targetEntity(comment)
                .targetReferenceField('post_id')
                .targetFields([
                    nga.field('id'),
                    nga.field('body').label('Comment')
                ])
        ]);

    post.showView() // a showView displays one entry in full page - allows to display more data than in a a list
        .fields([
            nga.field('id'),
            post.editionView().fields(), // reuse fields from another view in another order
            nga.field('custom_action', 'template')
                .template('<other-page-link></other-link-link>')
        ]);

    nga.configure(app);
});
```

You can find a more detailed configuration in the [blog demo configuration](examples/blog/config.js).

## Application Configuration

Application is the base of your admin.

Create a new application:

```js
// set the title and disable debug for this admin
var app = nga.application('My backend', false);
```

* `title()`
Defines the title

        var app = nga.application().title('My backend')

* `baseApiUrl()`
Defines the main API endpoint

        var app = nga.application().baseApiUrl('http://localhost:3000/')

* `debug()`
Enable or disable debug (enabled by default)

        var app = nga.application().debug(false)

## Entity Configuration

Each entity maps to a different API endpoint. The name of the entity, defines the endpoint:

```js
// set the main API endpoint for this admin
var app = nga.application('My backend')
    .baseApiUrl('http://localhost:3000/');

// define an entity mapped by the http://localhost:3000/posts endpoint
var post = nga.entity('posts');
```

* `label()`
Defines the name of the entity, as displayed on screen

        var comment = nga.entity('comments').label('Discussions');

* `readOnly()`
A read-only entity doesn't allow access to the mutation views (editionView, creationView, deletionView). In addition, all links to the editionView are replaced by links to the showView.

        var tag = nga.entity('tags').readOnly();

* `baseApiUrl()`
Defines the base API endpoint for all views of this entity

        var comment = nga.entity('comments').baseApiUrl('http://localhost:3001/');

* `url()`
Defines the API endpoint for all views of this entity. It can be a string or a function.

        var comment = nga.entity('comments').url(function(entityName, viewType, identifierValue, identifierName) {
            return '/comments/' + entityName + '_' + viewType + '?' + identifierName + '=' + identifierValue; // Can be absolute or relative
        });

## View Configuration

### View Types

Each entity has 5 views that you can customize:

- `listView`
- `creationView`
- `editionView`
- `showView` (unused by default)
- `deletionView`

### General View Settings

These settings are available on all views.

* `fields([field1, field2, ...])`
Add fields to a view (columns to a list, or a form controls to a form). Each field maps a property in the API endpoint result.

        listView.fields([
            nga.field('first_name'),
            nga.field('last_name'),
            nga.field('age', 'number')
        ]);

* `fields()` Retrieve the list of fields added to a view. The result can be added to another view, to avoid repetition.

* `title(String)`
The title of the view. ng-admin sees it as a template, and compiles it with the view scope. That means you can customize the title of a view using details from the current entry.

        editionView.title('Edit item "{{ entry.values.title }}"');

* `description(String)`
A text displayed below the title. Like the `title` ng-admin sees it as a template and it can be customized in the same way.

* `actions(String|Array)`
Customize the list of actions for this view. You can pass a list of button names among 'back', 'list', 'show', create', 'edit', 'delete', 'batch', and 'export':

        editionView.actions(['show', 'list', 'delete']);

    Alternately, if you pass a string, it is compiled just like an Angular template, with access to the current `entry` in the scope. This allows to easily add custom actions, or customize the buttons appearance:

        var template = '<show-button entry="entry" entity="entity" size="sm"></show-button>' +
            '<delete-button entry="entry" entity="entity" size="sm"></delete-button>' +
            '<my-custom-directive entry="entry"></my-custom-directive>' +
            '<back-button></back-button>';
        editionView.actions(template);

* `disable()`
Disable this view. Useful e.g. to disable views that modify data and only leave the `listView` enabled

* `url()`
Defines the API endpoint for a view. It can be a string or a function.

        comment.listView().url(function(entityId) {
            return '/comments/id/' + entityId; // Can be absolute or relative
        });

### listView Settings

* `perPage(Number)`
Define the number of element displayed in a page

* `sortField(String)`
Set the default field for list sorting. Defaults to 'id'

* `sortDir(String)`
Set the default direction for list sorting. Defaults to 'DESC'

* `infinitePagination(boolean)`
Enable or disable lazy loading.

* `filters()[field1, field2, ...])`
Add filters to the list. Each field maps a property in the API endpoint result.

        listView.filters([
            nga.field('first_name'),
            nga.field('last_name'),
            nga.field('age', 'number')
        ]);

    Filters appear when the user clicks on the "Add filter" button at the top of the list. You can also set a filter field as "pinned", to be sure it's always displayed.

        listView.filters([
            nga.field('q').label('Search').pinned(true)
        ]);

    Filter fields can be of any type, including `reference` and `template`. this allows to define custom filters with ease.

        listView.filters([
            nga.field('q', 'template').label('')
                .template('
<input type="text" ng-model="value" placeholder="Search" class="form-control"></input>
'),
        ]);

* `listActions(String|Array)`
Add an action column with action buttons on each line. You can pass a list of button names among 'show', 'edit', and 'delete'.

        listView.listActions(['edit', 'delete']);

    Alternately, if you pass a string, it is compiled just like an Angular template, with access to the current `entry` in the scope. This allows to add custom actions on each line:

        var template = '<show-button entry="entry" entity="entity" size="xs"></show-button>' +
                   '<my-custom-directive entry="entry"></my-custom-directive>';
        listView.listActions(template);

* `batchActions(String|Array)`
Add your own batch action directives.

    The datagrid contains a selection column (an initial column made of checkboxes). Once the user selects lines, a button appears and displays the number of selected entries. A click on this button reveals the list of "batch actions", i.e. actions that can be performed on a selection of entries. By default, the only batch action available is a batch delete.

    Add your own directives to the list of batch acctions at will. The scope contains a `selection` variable, which holds the current selection:

        listView.batchActions(['delete', '<my-custom-directive selection="selection"></my-custom-directive>'])

    To remove the list of checkboxes, simply set an empty `batchActions` list on the view:

        listView.batchActions([])

    *Tip*: The `selection` variable is also in the scope of the main view actions.

        listView.actions('create', '<my-custom-directive selection="selection"></my-custom-directive>');

* `exportFields(Array)`
Set the fields for the CSV export function. By default, ng-admin uses the fields displayed in the datagrid, but you can choose to export a different set of fields.

        listView.exportFields([
            nga.field('id', 'number'),
            nga.field('author'),
            nga.field('post_id', 'reference')
                .label('Post')
                .map(truncate)
                .targetEntity(post)
                .targetField(nga.field('title').map(truncate))
            nga.field('body', 'wysiwyg')
                .stripTags(true)
        ]);

## Fields

A field is the representation of a property of an entity.

### General Field Settings

* `nga.field(name, type)`
Create a new field of the given type. Default type is 'string', so you can omit it. Bundled types include `number`, `string`, `text`, `boolean`, `wysiwyg`, `email`, `date`, `datetime`,  `choice`, `choices`, `json`, `file`, and `template`

* `label(string label)`
Define the label of the field. Defaults to the uppercased field name.

* `editable(boolean)`
Define if the field is editable in the edition form. Usefult to display a field without allowing edition (e.g for creation date).

* `order(number|null)`
Define the position of the field in the view.

* `isDetailLink(boolean)`
Tell if the value is a link in the list view. Default to true for the identifier and references field, false otherwise. The link points to the edition view, except for read-only entities, where it points to the show view.

* `detailLinkRoute(string)`
Define the route for a link in the list view, i.e. `isDetailLink` of the field is true. The default is `edit`, hence the link points to the edition view. The other option is `show` to point to the show view.

* `map(function)`
Define a custom function to transform the value received from the API response to the value displayed in the admin. This function receives 2 parameters: the value to transform, and the corresponding entry. Works in list, edit views and references.

        nga.field('characters')
            .map(function truncate(value, entry) {
                return value + '(' + entry.values.subValue + ')';
            });

    Multiple `map` can be defined for a field:

        nga.field('comment')
            .map(stripTags)
            .map(truncate);

* `transform(function)`
Define a custom function to transform the value displayed in the admin back to the one expected by the API. This function receives 2 parameters: the value to transform, and the corresponding entry. Used in edit view only. Use it in conjunction with `map()` to ease the conversion between the API response format and the format you want displayed on screen.

        //           API
        //   map()  v  ^  tranform()
        //          Entry
        //
        // The API provides and expects last names in all caps, e.g. 'DOE'
        // The admin should display them with capitalized last names, e.g 'Doe'
        nga.field('last_name')
            .map(function capitalize(value, entry) {
                return value.substr(0,1).toUpperCase() + value.substr(1).toLowerCase()
            })
            .transform(function allCaps(value, entry) {
                // the API expects upper case last names
                return value.toUpperCase();
            });

* `validation(object)`
Tell how to validate the view
 - `required`: boolean
 - `validator`: function(value){}
 - `minlength`: number
 - `maxlength`: number

* `attributes(object)`
A list of attributes to be added to the corresponding field.

        nga.field('title').attributes({ placeholder: 'fill me !'})

* `cssClasses(String|Function)`
A list of CSS classes to be added to the corresponding field. If you provide a function, it will receive the current entry as first argument, to allow dynamic classes according to values.

        nga.field('title')
            .cssClasses(function(entry) {
                return entry.values.needsAttention ? 'bg-warning' : '';
            });

* `defaultValue(*)`
Define the default value of the field in the creation form.

* `pinned(boolean)`
Whether the field should always appear. Used in filters (see listView Settings). Default to false.

### `number` Field Settings

* `format(string)`
Format for number to string conversion. Based on [Numeral.js](http://numeraljs.com/), which uses a syntax similar to Excel. You can configure the locale and create named formats by following [angular-numeraljs](https://github.com/baumandm/angular-numeraljs) instructions.

        nga.field('cost', 'number').format('$0,0.00');
        // now 1234.5 will render as '$1,234.50'

### `choice` and `choices` Field Settings

* `choices(array|function)`
Define array of choices for `choice` type.

    When given an array, each choice must be an object litteral with both a value and a label.

        nga.field('currency', 'choice')
            .choices([
              { value: 'USD', label: 'dollar ($)' },
              { value: 'EUR', label: 'euro (€)' },
            ]);

    When given a function, the returned choice list must be in the same format (value and label) and can depend on the current entry. This is useful to allow choice fields dependent on each other.

        nga.field('country', 'choice')
            .choices([
              { value: 'FR', label: 'France' },
              { value: 'US', label: 'USA' },
            ]);
        var cities = [
            { country: 'FR', value: 'Paris', label: 'Paris' },
            { country: 'FR', value: 'Nancy', label: 'Nancy' },
            { country: 'US', value: 'NY', label: 'New York' },
            { country: 'US', value: 'SF', label: 'San Francisco' }
        ]
        nga.field('city', 'choice')
            .choices(function(entry) {
                return cities.filter(function (city) {
                    return city.country === entry.values.country
                });
            });

    *Tip*: When using a function for choice values, if you meet the "Uncaught Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting!", that's because the `choices()` function returns a new array every time. That's a known AngularJS limitation (see the [infinite digest loop documentation](https://docs.angularjs.org/error/$rootScope/infdig)).

### `date` Field Settings

* `format(string ['yyyy-MM-dd' by default])`

* `parse(function [remove hours, minutes and timezone by default])`
Filter applied to modify date object returned by date picker if needed.

### `datetime` Field Settings

* `format(string ['yyyy-MM-dd HH:mm:ss' by default])`

* `parse(function [no change by default])`
Filter applied to modify date object returned by date picker if needed.

### `template` Field Settings

* `template(*)`
Define the template to be displayed for fields of type `template` (can be a string or a function).

### `file` Field Settings

* `uploadInformation`
Give upload information for `file` field type
 - `url`: url for server side upload
 - `accept`: values allowed by the standard HTML file input accept attribute
 - `apifilename`: filename assigned by the server and returned by your API.

If the uploaded file is renamed server-side, you can get the new filename from an api return.

    HTTP/1.1 200 OK
    Content-Type: application/json
    { "picture_name": "post_12_picture1.jpg"}

you can configure file field as :

    nga.field('picture', 'file').uploadInformation({ 'url': 'your_url', 'apifilename': 'picture_name' })

Some other properties are allowed, see https://github.com/danialfarid/angular-file-upload#upload-service for the complete list.

### `wysiwyg` Field Settings

* `stripTags(boolean)`
Enable removal of all HTML tags - only the text is kept. Useful for displaying rich text in a table, or before truncation. False by default.

* `sanitize(boolean)`
Enable HTML sanitization of WYSIWYG Editor value (removal of script tags, etc). True by default.

## Menu Configuration

By default, ng-admin creates a sidebar menu with one entry per entity. If you want to customize this menu (labels, icons, order, adding submenus, etc), you have to define it manually instead.

The sidebar menu is built based on a `Menu` object, constructed with `nga.menu()`. A menu can have child menus. A menu can be constructed based on an entity. Here is the code to create a basic menu for the entities `post`, `comment`, and `tag`:

```js
admin.menu(nga.menu()
  .addChild(nga.menu(post))
  .addChild(nga.menu(comment))
  .addChild(nga.menu(tag))
);
```

The menus appear in the order in which they were added to the main menu. The `Menu` class offers `icon()`, `title()`, and `template()` methods to customize how the menu renders.

```js
admin.menu(nga.menu()
  .addChild(nga.menu(post))
  .addChild(nga.menu(comment).title('Comments'))
  .addChild(nga.menu(tag).icon('<span class="glyphicon glyphicon-tags"></span>'))
);
```

You can also choose to define a menu from scratch. In this case, you should define the internal state the menu points to using `link()`, and the function to determine whether the menu is active based on the current state with `active()`.

```js
admin.menu(nga.menu()
    .addChild(nga.menu()
        .title('Stats')
        .link('/stats')
        .active(function(path) {
            return path.indexOf('/stats') === 0;
        })
    )
);
```

You can add also second-level menus.

```js
admin.menu(nga.menu()
    .addChild(nga.menu().title('Miscellaneous')
        .addChild(nga.menu().title('Stats').link('/stats'))
    )
);
```

*Tip*: `admin.menu()` is both a setter and a getter. You can modify an existing menu in the admin configuration by using `admin.menu().getChildByTitle()`

```js
admin.addEntity(post)
admin.menu().getChildByTitle('Post')
    .title('Posts')
    .icon('<span class="glyphicon glyphicon-file"></span>');
```

## Dashboard Configuration

The home page of a ng-admin application is called the Dashboard. Use it to show important pieces of information to the end user, such as latest entries, or charts.

See [Dashboard Configuration](doc/Dashboard.md) dedicated chapter.

## Reusable Directives

The `template` field type allows you to use any HTML tag, including custom directives. ng-admin provides ready-to-use directives to easily add interactions to your admin views:

* `<ma-show-button>`
* `<ma-edit-button>`
* `<ma-delete-button>`

Buttons linking to the related view for the given entry.

```js
entity.listView().fields([
    // ...
    nga.field('actions', 'template').template('<ma-show-button entry="entry" entity="entity" size="xs"></ma-show-button>')
]);
```

* `<ma-create-button>`
* `<ma-list-button>`

A button linking to the related view for the given entity.

* `<ma-filtered-list-button>`

A button linking to an entity list view, prefiltered.

```js
entity.listView().fields([
    // ...
    nga.field('', 'template').label('')
        template('<ma-filtered-list-button entity-name="comments" filter="{ post_id: entry.values.id }" size="sm">')
]);
```

### `listView.listActions()`

The `listActions()` method available on the listView is a shortcut to adding a template field with one of the directives listed above. In practice, calling:

```js
listView.listActions(['edit', 'delete']);
```

Is equivalent to:

```js
var template = '<ma-edit-button entry="entry" entity="entity" size="xs">' +
               '</ma-edit-button>' +
               '<ma-delete-button entry="entry" entity="entity" size="xs">' +
               '</ma-delete-button>';
listView.fields([
    nga.field('actions', 'template').template(template)
]);
```

You can also provide custom label using the `label` attribute:

```js
listView.listActions([
    '<ma-edit-button entry="entry" entity="entity" label="Edit me" size="xs">' +
    '</ma-edit-button>',
    '<ma-delete-button entry="entry" entity="entity" label="Delete me" size="xs">' +
    '</ma-delete-button>'
]);
```

## Relationships

### `reference` Field

The `reference` type also defines `label`, `order`, `map`, `list` & `validation` options like the `Field` type.

* `targetEntity(Entity)`
Define the referenced entity.

* `targetLabel(string)`
Define the target field name used to retrieve the label of the referenced element.

        myView.fields([
            nga.field('post_id', 'reference')
                .label('Post title')
                .map(truncate) // Allows to truncate values in the select
                .targetEntity(post) // Select a target Entity
                .targetField(nga.field('title')) // Select a label Field
        ]);

* `singleApiCall(function(entityIds) {}`
Define a function that returns parameters for filtering API calls. You can use it if you API support filter for multiple values.

		// Will call /posts?post_id[]=1&post_id[]=2&post_id%[]=5...
		commentList.fields([
            nga.field('post_id', 'reference')
                .singleApiCall(function (postIds) {
                    return { 'post_id[]': postIds };
                })
        ]);

* `sortField(String)`
Set the default field for list sorting. Defaults to 'id'

* `sortDir(String)`
Set the default direction for list sorting. Defaults to 'DESC'

* `filters({ field1: value, field2: value, ...})`
Add filters to the referenced results list. It may be either an object or a function with a single parameter: the current search string.

        myView.fields([
            nga.field('post_id', 'reference')
                .targetEntity(post) // Select a target Entity
                .targetField(nga.field('title')) // Select a label Field
                .filters(function(search) {
                    // will send `GET /posts?title=foo%` query
                    return {
                        title: search + '%'
                    };
                });
        ]);

* `remoteComplete([true|false], options = {})`
Enable remote completion. When enabled, it fetches remote API references corresponding to your input to refresh the choices list.
If set to false, all references (in the limit of `perPage` parameter) would be retrieved at view initialization.

Available options are:

    * **refreshDelay:** minimal delay between two API calls in milliseconds. By default: 500.

* `perPage(integer)`
Define the maximum number of elements fetched and displayed in the list.

### `referenced_list` Field

The `referenced_list` type also defines `label`, `order`, `map`, `list` & `validation` options like the `Field` type.

* `targetEntity(Entity)`
Define the referenced entity.

* `targetReferenceField(string)`
Define the field name used to link the referenced entity.

* `targetFields(Array(Field))`
Define an array of fields that will be displayed in the list of the form.

        myEditionView.fields([
            nga.field('comments', 'referenced_list') // Define a N-1 relationship with the comment entity
                .label('Comments')
                .targetEntity(comment) // Target the comment Entity
                .targetReferenceField('post_id') // Each comment with post_id = post.id (the identifier) will be displayed
                .targetFields([ // Display comment field to display
                    nga.field('id').label('ID'),
                    nga.field('body').label('Comment')
                ])
        ]);

* `sortField(String)`
Set the default field for list sorting. Defaults to 'id'

* `sortDir(String)`
Set the default direction for list sorting. Defaults to 'DESC'

* `filters({ field1: value, field2: value, ...})`
Add filters to the referenced results list. It should be an object.

* `perPage(integer)`
Define the maximum number of elements fetched and displayed in the list.

### `reference_many` Field

The `reference_many` field type also defines `label`, `order`, `map` & `validation` options like the `Field` type.

* `targetEntity(Entity)`
Define the referenced entity.

* `targetField(Field)`
Define the field name used to link the referenced entity.

        myView.fields([
            nga.field('tags', 'reference_many')
               .label('Tags')
               .isDetailLink(false)
               .targetEntity(tag) // Targeted entity
               .targetField(nga.field('name')) // Label Field to display in the list
        ])

* `singleApiCall(function(entityIds) {}`
Define a function that returns parameters for filtering API calls. You can use it if you API support filter for multiple values.

		// Will call /tags?tag_id[]=1&tag_id[]=2&tag_id%[]=5...
		postList.fields([
            nga.field('tags', 'reference_many')
                .singleApiCall(function (tagIds) {
                    return { 'tag_id[]': tagIds };
                })
        ]);

* `filters({ field1: value, field2: value, ...})`
Add filters to the referenced results list. It may be either an object or a function with a single parameter: the current search string.

        myView.fields([
            nga.field('tags', 'reference_many')
                .targetEntity(tag) // Select a target Entity
                .targetField(nga.field('name')) // Select a label Field
                .filters(function(search) {
                    // will send `GET /tags?name=foo%&published=true` query
                    return {
                        name: search + '%',
                        published: true
                    };
                });
        ]);

* `remoteComplete([true|false], options = {})`
Enable remote completion. When enabled, it fetches remote API references corresponding to your input to refresh the choices list.
If set to false, all references (in the limit of `perPage` parameter) would be retrieved at view initialization.

Available options are:

    * **refreshDelay:** minimal delay between two API calls in milliseconds. By default: 500.

## Customizing the API Mapping

All HTTP requests made by ng-admin to your REST API are carried out by [Restangular](https://github.com/mgonto/restangular), which is like `$resource` on steroids.

The REST specification doesn't provide enough detail to cover all requirements of an administration GUI. ng-admin makes some assumptions about how your API is designed. All of these assumptions can be overridden by way of [Restangular's request and response interceptors](https://github.com/mgonto/restangular#addresponseinterceptor).

That means you don't need to adapt your API to ng-admin; ng-admin can adapt to any REST API, thanks to the flexibility of Restangular.

See the [Customizing the API Mapping](doc/API-mapping.md) dedicated chapter.

## Theming

You can override pretty much all the HTML generated by ng-admin, at different levels.

See the [Theming](doc/Theming.md) dedicated chapter.

## Adding Custom Pages

For each entity, ng-admin creates the necessary pages for Creating, Retieving, Updating, and Deleting (CRUD) this entity. When you need to achieve more specific actions on an entity, you have to add a custom page - for instance a page asking for an email address to send a message to. How can you route to a specific page and display it in the ng-admin layout?

See the [Adding Custom Pages](doc/Custom-pages.md) dedicated chapter.

## Adding Custom Types

When you map a field between a REST API response and ng-admin, you give it a type. This type determines how the data is displayed and edited. It is very easy to customize existing ng-admin types and add new ones.

See the [Adding Custom Types](doc/Custom-types.md) dedicated chapter.

## Contributing

Your feedback about the usage of ng-admin in your specific context is valuable, don't hesitate to [open GitHub Issues](https://github.com/marmelab/ng-admin/issues) for any problem or question you may have.

All contributions are welcome. New applications or options should be tested with the `make test` command.

### Installing Dependencies

Install bower and npm dependencies (for tests) wi calling the `install` target:

```sh
make install
```

### Running the example app

To test your changes, run the example app, which is bundled with a sample REST api, by calling:

```sh
make run
```

Then, connect to `http://localhost:8000/` to browse the admin app.

### Rebuilding the Compiled JS and CSS Files

Concatenate and minify the app with:

```sh
make build
```

All build files (stand-alone et lite versions) will then be updated and minified, ready for production.

### Testing

ng-admin has unit tests (powered by karma) and end to end tests (powered by protractor). Launch the entire tests suite by calling:

```
make test
```

**Tip:** if you are working on Karma tests, you can prevent from relaunching the whole process by disabling single-run:

```
KARMA_SINGLE_RUN=false grunt karma:unit
```

## License

ng-admin is licensed under the [MIT Licence](LICENSE), courtesy of [marmelab](http://marmelab.com).

redpajama_set_name: RedPajamaGithub


If you've read our previous posts on the Karaoke essentials, you'll have an idea of whats coming in this post! Karaoke media splits into two sides: Audio, where the equipment includes the playing of backing tracks, a number of karaoke microphones, a PA system and a mixer to tie everything together. The other side is the visual aspect which is where the lyrics are displayed line by line. We have already explored the audio requirements across a few of my previous posts: Singa Pro software, Best Mixers for Karaoke and Best Microphones for Karaoke. This post is focused on the different ways you can share the song lyrics to a Karaoke screen, and which AV solution is best for the Karaoke format you decide. The reason I mention this is some venues/nights may suit words going to a larger screen for group participation and/or the option of a smaller number of Karaoke singers viewing the lyrics from a smaller monitor. You can also add a video feed of the performer for other guests to enjoy if they cannot see the stage.
As is often the case, you'll see the karaoke specimen singing lyrics from a screen displayed within close proximity. The lyrics are on a smaller monitor just for the singer to see. Of course you can use a slightly larger monitor if you expect dancing and prancing, or of the screen is beyond a 1 – 2 metre distance (for example hung on a wall at a venue. Thanks to our sister company, Atlantic Electrics, we have the ability to stock and supply small monitors which would perform brilliantly for this task. First one worth mentioning is the Toshiba 24″ 24w2863db. Its compact form factor and weighs only 5Kg, making it easy to move from venue to venue. If you're looking for something a little larger, we also stock the Panasonic TX32ES503B 32″ monitor.
As we see in this image, rather than using a screen that's only big enough to be seen by one person, the whole venue can see the lyrics so they can join in, and provide ample 'backing singer and choral support' for the Karaoke singer. This is the most inclusive way to enjoy Karaoke. You can achieve this with either a large TV or a projector and screen – space permitting. We can supply larger format screens such as the Sony Bravia KD55XE8596 55″ TV, or the larger 65″ Ferguson FP65ANSMT LED panel.
This is the combination of both formats seen above; especially handy in venues where the space isn't simple or where you don't want the Karaoke singer to have their back to the audience! This is facilitated with the help of a signal distribution unit such as HDMI splitter. This allows the signal to be multiplied from the original source (in this case our Karaoke Lyrics) to connect to both large and small screens. This is the common format for larger clubs and venues, normally in conjunction with a projector and screen such as the Optoma HD27E 3400 Lumens projector and Screen.
What Is The Best Karaoke Mixer?


Mag - Fila X Junkyard - New Collab Collection!
Fila X Junkyard - New Collab Collection!
Cast your mind back to 80's New York, you're strolling through Harlem, at the crossing between 125th and 15 Church Street peering into the window of Dapper Dan's legendary boutique...wowsers right!
Well, that's exactly where we headed for inspiration for our new Fila X Junkyard FW 18 collection.
Think all over logo prints, golden embroidery, brown tracksuits and dollar dollar bills y'all! Ohh and let's not forget, as many gold chains as your neck can carry. We'll see you there!


Hook the inner bottom edge of the hinge under the bottom metal hook on the base of the keyboard.
Snap the top of the hinge into place, one side at a time. In this example, the top right side is being secured first. The top right and left corners of the plastic hinge should be hooked under the metal hook protruding from the base of the keyboard on each side. You can now check that the hinge works by flexing it up and down; it should pivot easily at its axis.
this is a brillient website and this page has helped me a few times now with some keys.
The hinge is very important for the laptop key as without this, key cannot be attached properly. Replacing a keyboard of the model that use hinge is a little bit difficult, but this article will be proved as a great guidance on how to replace the keyboard with hinge.
It is coming with the ultimate solution regarding the replacing process of a type K11 keyboard. Users sometime may unable to so this kind of replace process. It will help them to solve their issues.
Remove the old key without breaking the little levers/springs underneath it, and installing the new key usually requires pushing downwards and sliding it toward the front of the laptop in such a way that the key engages the little hooks on the levers/springs under it.


It's a strange feeling when you turn the age your parents were when they had you. (My parents were quite young, so this happened a while back for me.) Suddenly, you have a new perspective on where your mom and dad were at in life when you came along — and, maybe, how different your own life choices are by comparison. But what if you got the sneaking suspicion that your parents never wanted you? That's the drama at the heart of The Missing One.
Kali McKenzie has just lost her mother, Elena, to breast cancer. Although Kali's relationship with Elena was distant and troubled, her death leaves Kali full of grief — and unanswered questions. While cleaning out Elena's art studio, Kali stumbles upon a stack of mysterious postcards, each sent on the same day of the year, with an ambiguous message: "Thinking of you." Who is Susannah Gillespie, and what is her connection with the mysterious, emotionally remote Elena, who always refused to discuss her past?
On a spontaneous whim — and partly to escape her husband, whom she suspects of having an affair — Kali takes her toddler Finn and books a flight to British Columbia, where Susannah lives and works as a gallery owner. Grieving, exhausted, and barely hanging on, Kali confronts Susannah for answers, but Susannah seems to enjoy playing mind games and withholding information. Meanwhile, back home, Kali's husband is frantic about his vanished wife and toddler, and Kali's dad seems to think that Susannah is mad, bad, and dangerous to know. As Kali tries to untangle the secrets of her mother's past, her quest for understanding leads to unexpected and dark places.
I enjoyed the Pacific Northwest setting (it initially starts in England, but most of the action takes place in the Vancouver area and outlying islands). We love our marine environment and especially our dolphin and whale friends, and, as the original cover art hinted at, a strong conservationist and animal-rights theme emerges in the story. The stark landscape of a windswept, rocky island with perilously unreliable telecommunications is perfect for the wuthering mood Atkins is after.
Whether the story succeeds as a suspenseful thriller is a different question. Kali is deeply insecure about her mothering skills, and with good reason: every five minutes, her toddler seems to be grabbing broken glass or knocking expensive art pieces off tables. Even for a person lost in grief, Kali is unbelievably incompetent, all the while insisting how capable and rational she is — we're talking about a person who impulsively goes from England (in winter) to Canada (in winter) without bringing a coat for herself OR her child. The problem is compounded by the gothic-romance formula, which derives most of its suspense from Crucial Letters Gone Astray or Inability to Locate the One Person Who Knows the Awful Secret. Now that cellphones and GPS are ubiquitous, it's a lot harder to be dangerously isolated, which requires Kali to be blitheringly stupid in order to get herself into various predicaments. I found it hard to have much sympathy or concern for Kali when every peril she faced was both directly of her own making and completely unnecessary.
Anyway, if you're looking to cool off at the beach with a chilly winter thriller and you're not too picky about plausbility, The Missing One is an easy read with a simple family-drama mystery that doesn't require close attention.


New Delhi: Long term critic of PM Narendra Modi, Delhi CM Arvind Kejriwal has surprised everyone by approaching the Prime Minister for some professional advice. The Delhi CM is facing a lot of heat ever since AAP announced its 3 Rajya Sabha members, particularly from his own party member, Kumar Vishwas, who was overlooked in favor of ND Gupta and Sushil Gupta. To resolve the situation, he has now approached PM Modi who has a long experience of dealing with a fellow party member criticizing his every move.
Sir how to handle our Shatrughan?
As per sources, Arvind Kejriwal initially thought about taking advice from BJP President Amit Shah but other AAP leaders were afraid that Amit Shah will make Kejriwal join BJP during the meeting.


What breed is my rabbit?!
We thought our rabbit was a dwarf lop, but he now weighs 4.9kg and I have been told this is too heavy for a dwarf lop, so I think maybe he might be a French lop? Either that, or might I need to put our bunny on a diet!! Please can anyone help or have any ideas what breed he may be?
Comments for What breed is my rabbit?!
The rabbit might be another type of lop such as the mini lop or the lion lop.
I think your rabbit looks like a French Lop.


The Porsche Experience Centre (PEC) Sepang enjoyed its most successful year ever in 2018 with an unprecedented number of track days as well as a record number of participants coming through its doors. From 41 track days, PEC Sepang welcomed 668 participants and more than 800 visitors, making the facility the main hub for the Porsche Experience in Southeast Asia.
The Porsche World Road Show (PWRS) kicked off the year, followed by the regional media launch of the Cayenne. Various Track Experiences took place thereafter, including the Media Driving Academy where Porsche invested in sharpening the driving skills of journalists. However, the highlight events for the PEC Sepang were the Cayman GT4 Clubsport MR and the 911 GT3 Cup Car trainings, which were born from a desire to further develop motorsport in the region, in response to the strong demand from enthusiasts. The 911 GT3 Cup Car training in particular was held for the first time in Southeast Asia.
The year wrapped up with the inaugural E-Performance Nights media event that took advantage of the night lights of the Sepang International Circuit. With this event, the PEC Sepang made history as the first Porsche Experience location operating for nearly 24 hours in a day.
For all of these events, the most impressive PEC Sepang car pool ever was employed, which included cars as varied and exciting as the 911 Carrera T, 911 GT3, 718 Boxster GTS, Cayenne Turbo, Panamera Turbo S E-Hybrid and 918 Spyder.
In 2019, the PEC Sepang is set to offer more premium events, including the Track Experience and the Porsche Motorsport GT Day that offer money-can't-buy experiences with rarefied sports cars like the 911 GT3 Cup and the 911 GT3 RS. Supporting this, it will boast a brand new fleet of Porsche vehicles that will include legends such as the 911 GT3 RS and the new 911, introduced just recently in its World Premiere at the Los Angeles Auto Show.
One significant role that the PEC Sepang will play is being an E-Performance competence centre, focusing on the increasing electrification of the Porsche model range. Besides plug-in hybrid Porsche vehicles which are already available in the market, such as the Panamera Turbo S E-Hybrid, the fully-electric Taycan will make its debut in the region in the beginning of 2020.


Crop production in semi-arid sub-Saharan Africa (SSA) is limited by over-reliance on erratic and inadequate rainfall, which often results in yield reduction or total crop failure. The effects of frequent droughts and dry spells need to be circumvented by water conservation. Where rainwater is harvested, research recommendations are based on direct use of the water without relating it to catchment characteristics, climatic conditions and long term storage. A study aimed at predicting sizes of seasonal open surface reservoir based on rainfall and runoff rainwater was conducted from 2012 to 2013 at Ukwe Area, Malawi. The work premised on assessment of land and hydrological factors as they impinge on runoff water storage. Rainfall-runoff relative analysis showed runoff trend following the magnitude of rainfall. Findings showed that runoff water harvested, under the Ukwe area landscape conditions, is linearly related to seasonal rainfall amount with coefficient of correlation of greater than 0.75, demonstrating vitality of rain and timing of rain harvesting for reservoir sustenance. Runoff amount was almost four times that of infiltrated amount, highlighting the fact that drought prone areas can be flood prone as well. Results further demonstrate that weekly reservoir balance using crop, livestock and domestic consumption, and losses through evaporation and seepage, as dry season progresses are critical for reservoir sizing during dam construction or crop field sizing at the onset of dry season.


Profession Ceramic Kitchen Knife Set -- whole set with 3 pieces 6"Chef knife, 5" utility knife, 3" paring knife, each knife with pp sheaths , ABS+TPR handle.
Super sharp Ceramic Knife Set is very practical, can meet the different needs of the kitchen, each knife has a different function, convenient you can use at any time, help you save time.
White ceramic blade is Made from zirconium, anti-bacteria, anti-fouling, non-toxic and non-corrosive.Super hard, high-density and sharp blade, not easy to be blunt.No reaction with any food and can preserve the original color and taste of the food, keep the food's freshness and nutrition.
Designed with non-slip hand, allows you to convenient and comfortable to grip.
Not for Cutting Bones, Coconut Shells or Super Hard objects.
Material: blade is Zirconium,6" blade is 1.85 - 1.75 mm, 5" blade is 1.65-1.55 mm, 3" blade is 1.65 -1.55 mm, handle is ABS with TPR, sheath is PP.
Size&Weight: 340 * 170 mm, 339 g.
Payment Terms:30%T/T deposit and pay the balance before shipping.
Looking for ideal White Ceramic Blade Knife Set Manufacturer & supplier ? We have a wide selection at great prices to help you get creative. All the Super Sharp Ceramic Knife Set are quality guaranteed. We are China Origin Factory of Multifuntion Kitchen Knife Set. If you have any question, please feel free to contact us.


text:
Cool Science Radio - July 2, 2015
KPCW | By Lynn Ware Peek,
Published July 2, 2015 at 4:24 PM MDT
The development of quantum computers has been limited by the ability to increase the number of quantum bits, or qubits, that encode, store and access large amounts of data. We speak with Dr. Jason Amini of the Georgia Tech Research Institute, about a new device that allows more electrodes to be placed on a chip - an important step that could help increase qubit densities and bring the world one step closer to a quantum computer.
Local Newsjason amini interviewGeorgia tech jason aminiCool Science Jason amini
Lynn Ware Peek is a long-time contributor to KPCW. She joined the station in 2008 with Tales from the Wasatch Back, was a reporter from 2012 to 2016, and co-hosts and produces two of KPCW's Public Affairs Hour shows, The Mountain Life, on health and lifestyle, on Wednesdays and Cool Science Radio, tackling science and technology every Thursday.
See stories by Lynn Ware Peek
John's curiosity with science and technology began at the age of 7 with the country's space program. With a subscription his parents gave him to Popular Science and Popular Mechanics along with other periodicals and Walter Cronkite's evening broadcast he studied everything space. He followed the lives of America's test pilots and astronauts who piloted Mercury, Gemini and Apollo spacecraft. His curiosity in how things were built led him to dismantling the family's window fan, toaster and lawnmower. Taking apart things was easy. Putting them back together, well, not so much. John grew up in New York state and Massachusetts with 2 brothers and 2 sisters. He received a BA in Economics and Sociology from the University of Maryland.
See stories by John Wells

redpajama_set_name: RedPajamaCommonCrawl


text:
Турбохо́д — разновидность парохода или теплохода, судно, приводимое в движение паровой или газовой турбиной (газотурбоход).

История
Первый турбоход был спущен на воду в 1896 году и назывался «Турбиния». Применение паровых турбин значительно повысило эффективность использования пара в сравнении с применявшимися до этого паровыми двигателями.

В конце XIX века паровые турбины стали устанавливать на строящиеся военные суда. Существует мнение, что наиболее широко паротурбинные энергетические установки стали применяться на военных судах после Цусимского сражения, когда тихоходный русский флот был разгромлен японцами.

В начале XX века паровые турбины стали применяться и на пассажирских лайнерах, таких как «Лузитания», «Мавритания» и др. Эксплуатация турбоходов на органическом топливе продолжается и в настоящее время, так, именно к этому типу относятся авианесущие крейсеры «Адмирал Кузнецов», «Викрамадитья» (бывш. «Адмирал Горшков») и «Ляонин» (бывш. «Варяг»).

21 января 1954 года спущено на воду судно (подводная лодка) «Наутилус» с ядерной паропроизводящей установкой, до этого в качестве топлива использовались в основном нефтепродукты.

Первыми турбоходами торгового флота СССР стали сухогрузы серии «Ленинский комсомол». Использование паровой турбины на судах этой серии дало возможность увеличить их скорость до 18,5 узлов в грузу и 20,5 в балласте — рекордную для торговых судов того времени и сравнимую со скоростью военных судов того времени.

См. также
 Газотурбоход
 Пароход
 Ленинский комсомол (серия турбоходов)

Примечания

Типы судов и кораблей
Транспортные средства

redpajama_set_name: RedPajamaWikipedia


text:
#0007 - Frank Smethurst, Running Down The Man, TU TV, Dubai And Fishing Adventure Comedies
Frank Smethurst is a revered fly fisherman and guide whose passion for the sport began at a very early age. He began tying his own flies at age eight, starting working at The Fish Hawk by age 12, and eventually moved to Colorado to launch his career as a guide.
Aside from guiding, winning tournaments, and hosting...
#0006 - Miles Burghoff - Pro Bass Fishing, Sponsorship and What To Do On Those Long Drives
When Tom Rowland and Rich Tudor were tasked with finding potential hosts for a freshwater fishing show, Miles Burghoff's name quickly came up. Since starting Sweetwater Fishing TV, Rowland and Burghoff have become good fishing buddies and even better friends.
Today's talk really focuses on what the world of...
"Rags to riches to ruin to redemption." That is the quick and dirty explanation behind the story of accomplished speaker, author, and educator, Dr. Joe Martin. Dr. Martin was raised in Liberty City, one of the roughest neighborhoods in the Miami, Florida area. Martin didn't meet a white child until he was 12,...
#0004 - Clay Watson - Fishing In Cuba, Torn Labrums And What Makes A Good Guide
Having met years ago while guiding on the Snake River, Tom Rowland and Clay Watson have shared their fair share of fishing stories and experiences all over the world. Intrigued by Watson's latest experience fishing the waters of Cuba, Rowland invited him on the Tom Rowland Podcast to talk about the adventure.
Watson...
#0003 - Patrick St. Charles - GoRuck Selection, SealFit Kokoro And Application To Life
Tom Rowland and Patrick St. Charles met about a decade ago, bonding through a local workout group and an affinity for extreme fitness events like Tough Mudders, Spartan Races, and Ragnar Relays. Participating in these events led them to even more extreme events like the SEALFit Kokoro and GoRuck Selection.
Modeled...


text:
Justia Lawyer Directory Intellectual Property Tennessee Marshall County Attorneys
Marshall County Intellectual Property Lawyers
Compare top rated Tennessee attorneys serving Marshall County.
Find Marshall County Intellectual Property Lawyers by City
Paul E. Tennison
Williamson County, TN Intellectual Property Lawyer with 3 years of experience
(615) 490-6020	1648 Westgate Cir
Brentwood,	TN 37027
Offers Video ConferencingVideo ConfIP, Business, Family and Military
Paul E. Tennison was selected as one of the Top 100 Lawyers in Nashville by MyNashville Magazine readers in July, 2020.
Paul E. Tennison has significant experience in the U.S. Army and international experience. Paul's legal background affords him unique inside into many issues confronting his clients. Paul represents clients in a broad range of complex legal matters. Paul has experience working in cases involving military law, defamation, intellectual property, family law, contested divorces, immigration, business disputes, wills, trusts, and probate.
Paul's extensive military experience includes four years at West Point, five years on Active Duty in Korea and Germany and...
Kevin Christopher
Davidson County, TN Intellectual Property Attorney with 5 years of experience
(629) 401-4200	41 Peabody St.
Nashville,	TN 37210
University of California - Berkeley, University of San Francisco School of Law and University of California Hastings College of the Law
Kevin Christopher is the founder and principal of Rockridge Venture Law®, Tennessee's only B Corp Best For The World law firm. Kevin is a registered patent attorney, entrepreneur, county and state commissioner, National Institutes of Health (NIH) RadX faculty member, and National Science Foundation (NSF) program evaluator. He is a Leadership Lawyer and Leadership Tennessee alumnus, and board member to several environmental and social impact nonprofits. Kevin has been recognized as a SuperLawyer by Thomson Reuters and Top Business Leader by Conscious Company Magazine.
Attorney Kevin Christopher is a corporate attorney, patent attorney, and trademark attorney. Specifically, his practice areas include:...
Michael Woolf
Davidson County, TN Intellectual Property Attorney
(615) 378-8208	41 Peabody St
Free ConsultationOffers Video ConferencingVideo ConfIP, Business and Entertainment & Sports
Belmont University College of Law
Michael is a decision strategist who inspires, engages and advises fellow servant-leaders, visionary entrepreneurs, and wicked-smart problem solvers to reimagine boundaries, achieve the impossible, and cultivate people-first cultures He is able to help his clients find creative solutions and bring a strategic approach to projects - eager to roll up his sleeves, unafraid to ask tough questions, and able to approach problems from multiple perspectives. Before founding Boon Legal, Michael was an attorney with Baker Donelson where he was a member of the Emerging Companies team within the Corporate Finance and Securities Group. Prior to law school, Michael was an entrepreneur and visionary...
Bennett James Wills
Williamson County, TN Intellectual Property Attorney with 9 years of experience
(615) 861-1936	750 Old Hickory Blvd
Bldg 2 Ste 150
Business and Real Estate
Bennett J. Wills is an attorney serving clients all across Tennessee. In 2014 he was awarded the Top 40 Under 40 award by the National Trial Lawyers Association and was awarded Super Lawyers 2015, 2016, 2017 and 2018 Rising Star. Bennett's practice areas include, business litigation, business formation/dissolution disputes, various contract matter, construction litigation, consumer defense, and real estate matters.
Alyssa J. Devine
Davidson County, TN Intellectual Property Attorney with 1 year of experience
(629) 248-3310	3820 Charlotte Avenue, Suite 146-1
Free ConsultationOffers Video ConferencingVideo ConfIP, Business, Entertainment & Sports and Trademarks
Alyssa gained valuable insights while working at a renowned intellectual property management company protecting deceased celebrities' brands. While pursuing her M.B.A., Alyssa demonstrated her business acumen by creating a commercialization strategy from scratch for innovative healthcare software developed by university researchers. Utilizing her collective experience, Alyssa provides value to clients by analyzing issues from multiple perspectives. Alyssa strives to resolve problems for her clients, from the simplest to the most complex. Her experience allows her to view problems from multiple perspectives and create personalized solutions. Alyssa utilizes her collective knowledge and skills to not only resolve legal issues, but to add...
Jake VanAusdall
Offers Video ConferencingVideo ConfIP, Business, Construction and Employment
Jake VanAusdall dedicates his practice to business litigation and complex dispute resolution. This includes commercial disputes, business litigation, employment law, and general litigation. He has a record of successfully handling disputes on behalf of both individuals and corporations in Tennessee state courts and Federal Court.
Joshua C Vincent
Williamson County, TN Intellectual Property Attorney with 10 years of experience
(615) 656-5122	256 Seaboard Lane Suite F-101
Franklin,	TN 37067-2894
IP, Business, Patents and Trademarks
Zachary Scott Gainous
(615) 671-4301	3102 West End Avenue
Free ConsultationIP, Business, Entertainment & Sports and Trademarks
Nashville School of Law
Nashville attorney Zach Scott Gainous was born in Tallahassee, Florida. After graduating high school, Zach moved to Nashville to pursue his bachelor's degree at Middle Tennessee State University. Zach attended MTSU's College of Media & Entertainment and studied in the Recording Industry program where he earned a Bachelor of Science degree in Music Business.
While attending MTSU, Zach completed courses in artist management, music publishing, music production, concert promotion & touring, record label marketing, record label operations, A&R, copyright law, music business contracts and legal issues, and more. During his studies at MTSU, Zach also began working as an independent producer...
Cynthia M Wood
Davidson County, TN Intellectual Property Attorney with 14 years of experience
(615) 321-0220	803 18th Avenue South
IP, Business and Entertainment & Sports
I'm an attorney at Gordon Law Group in Nashville, TN. My concentration areas are business, entertainment, and litigation. I enjoy working with people who earn a living in the entertainment industry.
Christopher English Hugan
Davidson County, TN Intellectual Property Lawyer with 18 years of experience
(615) 669-7299	810 Dominican Drive
Serving Nashville's entertainment and business communities for two decades. Office located in the beautiful Film House Building near downtown Nashville. Free consultations.
Aleece McKnight
Rutherford County, TN Intellectual Property Attorney with 9 years of experience
(615) 624-4097	107 W Lytle Street
Murfreesboro,	TN 37130
IP, Business, Entertainment & Sports and Trademarks
I am the attorney entrepreneurs and content creators hire to protect their business and secure
their brand. I'm passionate about helping creatives protect their brand and content so that they
can operate in their genius unbothered by the copycats.
Impassioned by the desire to fight for the legal protection of creatives and entrepreneurs,
I took a leap of faith and launched the Law Office of Aleece McKnight. In my practice, I
focus on trademark registration, copyright registration, business formation, and contracts for
creative entrepreneurs. With years of experience in the industry, I have been able to ride in
the passenger seat with my clients as they grow...
Thomas David Ruth
(615) 244-7600	20 Music Square West, Suite 200
John Raymond LaBar
Coffee County, TN Intellectual Property Attorney
(931) 563-2424	309 N Jackson St Ste 2A
Tullahoma,	TN 37388
IP, Business, Estate Planning and Real Estate
I am the founder and managing member of LaBAR LAW PLLC. I concentrate my practice on advising business and corporate clients on all manner of general counsel services, including, transactional, corporate and real estate law matters throughout Tennessee and the Southeast. I also advise clients on employment law matters and represents them in both administrative matters as well as in litigation, including matters in State and Federal courts as well as before the EEOC, NLRB, and collective actions under the Fair Labor Standards Act.
I also advise clients and business owners in implementing tax, business and estate planning strategies and, for...
Vincent H. Peppe
IP, Business, Communications and Trademarks
Vincent Peppe focuses his law practice on business, entertainment, and technology law matters. Vincent has over 25 years of experience handling transactions and disputes involving business, media, and technology. He has held positions as Director & Counsel for Internet & New Media at SESAC and as General Counsel at Naxos, the world's leading classical music label. He also served as Vice President for Digital Distribution at GameZnFlix, where he developed one of the first subscription services for delivering movies to computers and mobile devices. Vincent is a graduate of the New England Conservatory of Music and...
Ms. Paige Waldrop Mills
(615) 742-7770	150 3rd Ave South
University of Tennessee - Knoxville
I litigate and give business advice in the areas of trademarks, copyrights, trade secret protection, and data security issues. I am co-chair of Bass, Berry & Sim's Intellectual Property Practice group and have practiced law in Nashville for more than 17 years. I also have experience litigating employment and general commercial disputes.
Denise Marie McIntosh
(615) 749-8306	1906 Acklen Ave
Nashville-Davidson (Balance),	TN 37212
University of California Hastings College of the Law
Noah C McPike Esq.
(615) 750-2207	1222 16th Ave. S
Nashville Entertainment Attorney
Joseph Brazil
IP, Communications and Entertainment & Sports
Thomas Kelly Potter III
(615) 724-3231	NASHVILLE,	TN 37203
Denise McIntosh Stevens
(615) 749-8306	1906 Acklen Avenue
Haverly Rauen MacArthur
Davidson County, TN Intellectual Property Lawyer
(615) 259-1308	424 Church St
IP, Entertainment & Sports and Real Estate
The University of Texas School of Law
Shane Vincent Cortesi
(615) 669-6565	2709 Westwood Ave
Tiffany Dunn
IP, Antitrust, Business and Communications
Heather Joy Hubbard
(615) 850-6024	511 Union St
Nicholas Charles Ferrara
(615) 251-1975	150 4th Ave N
Fordham University School of Law and Fordham University School of Law
Austen Michael Adams
Paul M. Hebert Law Center, Louisiana State University
Stephen Henry Price
222 2nd Ave S
IP, Business and Real Estate
Kevin Michael Doherty
(615) 724-3211	3102 West End Ave
Stephen Theodore Belsheim
(615) 662-0100	179 Belle Forest Cir
The Ohio State University Michael E. Moritz College of Law
Douglas Wesley Schelling
5729 Templegate Dr
University of Louisville Louis D. Brandeis School of Law
Justin Ford McNaughton
2817 West End Ave
Joel Todd Galanter
IP, Antitrust and Business
John Robert Jacobson
David Stewart Shuman
Williamson County, TN Intellectual Property Attorney
7360 C C C Rd
Fairview,	TN 37062
Robert Joseph Mendes
IP, Bankruptcy, Business and Real Estate
The University of Chicago Law School
Bernard J. Graves Jr.
(615) 726-5594	211 Commerce St
Edward Dodson Lanquist
(615) 242-2400	1600 Division St
Alexandra T. MacKay
401 Commerce St
Michael Walter Olsen
(615) 277-1810	210 25th Ave N
Mark James Patterson
IP, Patents and Real Estate


t shirt coloring page baseball uniform coloring page stunning surprising t shirt coloring page image outline printable coloring pages for kids summer shirt template coloring page.
t shirt coloring page t shirt ng page t shirt page white page online design t shirt page white on t blank shirt ng page hawaiian shirt coloring page.
t shirt coloring page t shirt coloring page t shirt coloring page t shirt pattern coloring page.
t shirt coloring page coloring page amazing t shirt coloring page about remodel coloring for kids t shirt coloring page football kit colouring pages.
t shirt coloring page t shirt c sheet new page for your pages free football kit colouring pages.
t shirt coloring page coloring pants shirt for coloring pants coloring page here are t shirt coloring page images shirt pocket coloring page.
t shirt coloring page t shirt coloring page sh plain t shirt coloring page shirt pocket coloring page.
t shirt coloring page t shirt coloring page pages printable tee pattern blank template t shirt template coloring page.
t shirt coloring page flag coloring page world cup t shirt coloring page flag colouring page polo shirt coloring page.
t shirt coloring page t shirt coloring page to print t t shirt coloring page to print on coloring shirt coloring page.
t shirt coloring page t shirt coloring sheet white t shirt coloring page blank t shirt coloring page football shirt colouring pages.
t shirt coloring page t shirt coloring page sheet images pages hawaiian shirt coloring page.
t shirt coloring page pants coloring page shirt and pants coloring pages pants coloring page t shirt coloring pages free for snow pants printable pants coloring page shirt pocket coloring page.
t shirt coloring page coloring page blank football jersey coloring page t shirt coloring page t shirt coloring page coloring page front blank t shirt colouring page football shirt colouring pages.
t shirt coloring page t shirt for coloring t t coloring page s t coloring page t t coloring printable t shirt coloring t shirt for coloring coloring page football kit colouring pages.
t shirt coloring page t shirt coloring page t shirt coloring sheet t shirt coloring page t shirt coloring page football shirt coloring pages.
t shirt coloring page t shirt ring page football jersey pages uring football kit colouring pages.


text:
package org.edtoktay.dynamic.compiler;

import static org.junit.Assert.*;

import org.edtoktay.dynamic.compiler.exceptions.DynamicCompilerException;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@SpringBootTest
@RunWith(SpringRunner.class)
public class Test1 {

	@Test
	public void test() throws InstantiationException, IllegalAccessException, DynamicCompilerException {
		UseExample1 use1 = new UseExample1();
		use1.addObj("asd", "df");
		assertNotNull(use1.getObject("asd"));
	}

}


Detectives are looking for evidence of a marriage between the girl and a 50-year-old man. They have shown that new religious movements have been continually created for millennia. Cardinal Theodore McCarrick, Archbishop of Washington, was joined at the press conference by John Zogby, President of Zogby International, Bud Welch, whose daughter was killed in the Oklahoma City bombing, and Kirk Bloodsworth, who was freed from death row after DNA evidence led to his exoneration. ( United States Conference of Catholic Bishops Press Release, March 21, 2005) A national poll of Mainline Protestant clergy conducted in 2008 by Public Religion Research, LLC, revealed that 66% of mainline clergy oppose the death penalty while only 27% support it.
The Church of Christ they call the "Satan Organization" and they themselves call witnesses to God�s anger and God�s revenge against the Christian Church. That is why I can say I don't care about everything PPP/BY/JS/BRM did or said. I am a Christian now, but was a Mormon for 26 years before, and pretty much know every great thing, and every not so great thing about Mormonism. A similar crisis occurred in the mid 1970's when a new revelation from God abolished the church's institutionalized discrimination against Afro-Americans.
World Methodist Evangelism Institute PURPOSE The World Methodist Evangelism Institute is a cooperative ministry of World Evangelism of the World Methodist Council and Candler School of Theology at Emory University. The latter is a better approach, since people's actions are informed by their beliefs. How are you supposed to have a relationship with the Christ when you go around praying to humans. The issue of transgender equality continues to be a sensitive one.
They remained in Jerusalem and partook of the religious observances in the Temple. Instead, the copies of the Scriptures were kept by designated persons in the Church, or kept at the place where the Church gathered for worship. The size of their following and an explanation for it is given by Tertullian in A. Charges levied against Smith over the destruction of this periodical led to his assassination. It appears that much of the increase in the Mormon population in Utah at the time can be attributed to new immigrants to the region.
Unless you're getting me confused with someone else, I've been saying this whole time that simply having a different religion (however strange) is simply heretical not cultish. Civil War, primarily of Methodist origin, emphasizing sanctification by grace through salvation. In the light of the above it is easy to posit that Naamdharees are not a different religion. I don't know enough to do it myself, but I know there is a huge difference between Lutheran churches associated with the ELCA and those associated with the Missouri Synod.
I love Jesus and Mary as mentioned in Quran. What good is it to say that the autographs (i.e., the originals) were inspired? Each day since the accord, their families have opened the church to worshipers. The latest series of DMM safety videos have encouraged climbers to . As of 1993, 15,000–30,000 sympathizers who yet retained membership in the RLDS Church (Community of Christ);  as of 2011, c. 10,000 members attending several hundred distinct congregations.  Affiliated branches and study groups, with each branch relatively autonomous and the movement as a whole centered in Independence, Missouri.   RLDS Church branches that became independent of the RLDS Church individually throughout the 1980s, due to opposition to changes in church doctrines and practices.
What are the different branches of Mormonism? Rather it should be the purpose of the religious broadcast to promote the spiritual harmony and understanding of mankind and to administer broadly to the varied religious needs of the community." +The National Association of Evangelicals foundedThe NAE seeks to unify the voices of evangelical Americans; one of the first issues to galvanize the group is access to radio. However, they admit that they still sometimes sense a "sinister" presence. (I daresay, working at a Bible conference center and hearing preachers crying out "Satan's" name during sermons, and reading "Satan's" name in the tracts they help print, can not have helped this person get far from "Satan," but has probably kept the devil within easy reach of their psyche.
Tibetan Buddhist teaching and rite also have certain elements of Theravada Buddhism and Bon, the older, shamanistic religion of Tibet. Those you have to contemplate in order to learn the wisdom that comes from Jesus," and Paul has to write back and say, "Now, I taught you nothing but Christ crucified, not Christ wisdom." Most deny His divinity, reducing Him to just a great teacher. Examples include Pagan worship,sacrifices or a distinct ritual,laws,customs,code of conduct,loyalty to the leader of the cult group. 2.
The first Christian organization was the Catholic Church, which eventually broke into different denominations especially in the 1500s as a result of Martin Luther and John Calvin. In fact, the practice of the Catholic Church in conferring Baptism on infants is one of the main reasons for which the Mormons say that the Catholic Church apostatized in the first centuries, so that the sacraments celebrated by it are all invalid. Why do these offenders take such young girls as wives? A theological separation had been foreshadowed by various movements within the English church such as the Lollards, but the English Reformation gained political support when Henry VIII wanted an annulment of his marriage to Catherine of Aragon so he could marry Anne Boleyn.
S., openly polygamous till 1890, calling itself 'The Church of Jesus Christ of Latter-day Saints,' founded in 1830 by Joseph Smith, whose supplement to the Bible, the Book of Mormon, was given out as translated from the golden plates of one 'Mormon,' but was really adapted from a MS. romance written about 1811 by Solomon Spaulding.—ns. As the result of a revelation in 1838, the name to the Church was officially changed to the "Church of Jesus Christ of Latter Day Saints". After the death of Joseph Smith, the majority of Smith's followers were led by Brigham Young to the Salt Lake Valley in the current state of Utah.


text:
Les résultats axés sur les patients (,  ou ) sont des résultats en matière de santé jugés comme étant importants par certains patients spécifiques (tels qu'un échantillon représentatif des personnes ayant une affection médicale) . L'importance de ceux-ci a été mise en avant par la quantité importante de recherches présentant des résultats jugés peu utiles ou peu importants pour les patients.

Origine
Bien souvent dans les recherches en santé les chercheurs se focalisent sur des résultats indirects ou des marqueurs (des « résultats de substitution », de l'anglais surrogate outcomes) tels que la densité des os, l'hémoglobine glyquée (un composé sanguin associé au diabète) ou la quantité d'une substance dans le sang dans le but de prédire des résultats jugés importants (tels que le nombre de décès dans les différents groupes étudiés), notamment lorsque ceux-ci sont faciles à mesurer et parce qu'ils peuvent permettre de réduire les coûts et la durée des études (mesurer l'hémoglobine glyquée sur 6 mois et estimer les décès à long terme est souvent plus facile que de suivre un groupe de patients pendant 10 ans pour mesurer les véritables décès, parfois rares) . Or, de nombreux marqueurs que l'on pensait utiles se révèlent être de mauvais prédicteurs des résultats jugés importants et il peut alors être difficile pour les patients de juger ces résultats (ex : "Est-il important pour moi de réduire mon hémoglobine glyquée de -0.1% ?") .

Les chercheurs utilisent parfois aussi des résultats regroupant de multiples mesures (des résultats dits composés, composite results), par exemple en mesurant le nombre de [Problèmes majeurs], un résultat composé incluant 1) les décès, 2) les saignements massifs et 3) les cas de fatigue ce qui leur permet de moins recruter de participants dans les études . Or, l'importance de ce regroupement peut être difficile à interpréter pour les patients lorsque des résultats ayant des importances différentes sont regroupés (par exemple une réduction des décès serait très importante et une réduction de la fatigue en général moins importante mais une fois groupés dans le nombre de [Problèmes majeurs] il devient plus difficile d'estimer si une réduction est alors très importante ou peu importante) . Ces résultats composés peuvent également induire en erreurs lorsque les effets d'un traitement ou d'une intervention ne sont pas les mêmes sur les différents résultats inclus, par exemple si les décès augmentent mais que la fatigue est très largement réduite il serait possible d'obtenir globalement une réduction des [Problèmes majeurs] alors qu'il y avait plus de décès .

Il arrive également aux chercheurs d'utiliser des échelles de mesure pour mesurer les résultats , telles que l'échelle CHADS2 (estimation du pronostic en cas de problèmes cardiaques), le score de Glasgow (évaluation d'un coma), l'échelle HAS-BLED (évaluation du risque de saignement avec certains médicaments), l'indice de masse corporelle (ou IMC, une mesure du rapport entre le poids et la taille), etc. À nouveau l'interprétation de ces résultats peut être difficile pour les patients (ex : "Est-il important pour moi d'avoir un plus faible score sur l'échelle HAS-BLED ?").

Certains résultats jugés importants bien établis ne sont pas toujours mesurés dans les études en santé, par exemple les amputations, la qualité de vie et la perte de la vue dans de nombreuses études portant sur le diabète . Les recherches peuvent ainsi présenter des résultats incomplets ou insuffisants pour les patients.

Enfin, les chercheurs tentent souvent d'obtenir des résultats dépassant un seuil statistique arbitrairement défini (le seuil de significativité, souvent évalué au moyen de la valeur p). Les résultats sont alors dits "statistiquement significatifs". Or un résultat statistiquement significatif n'implique pas pour autant que les effets sont larges ou importants pour les patients (par exemple une réduction des douleurs de 0,00001 points sur 10 pourrait être statistiquement significative mais celle-ci a peu de chances d'être jugée importante par les patients ayant des douleurs) . Interpréter ces résultats est à nouveau un défi pour les patients (ex : "Est-il important pour moi de prendre un traitement réduisant de manière statistiquement significative les douleurs ?").

Ces problèmes ou ces limitations ont mené à un plus grand focus sur les résultats axés sur les patients qui visent à mieux intégrer les valeurs et les priorités des patients dans la recherche en santé de manière à rendre les résultats de celle-ci plus utiles aux patients . Les patients sont ainsi au centre des objectifs des recherches en santé et la probabilité que celles-ci soient utilisées pourrait augmenter . Par exemple, des résultats indiquant une réduction d'un score sur une échelle de mesure peu connue du risque de décès avec un traitement ont probablement moins de chances d'être jugés importants par les patients qu'une réduction des décès.

Diverses méthodes ont été développées pour identifier ces résultats et pour les prioriser tels que les interviews, les entretiens en face à face, les sondages en ligne (notamment sondage Delphi) ou au travers de forums, etc . À titre d'exemple l'initiative COMET (Core Outcome Measures in Effectiveness Trials) vise à identifier des sets de résultats jugés comme méritant d'être mesurés dans tous les essais cliniques portant sur une affection médicale spécifique  et l'institut de recherche sur les résultats axés sur les patients (Patient-Centered Outcomes Research Institute, PCORI) fondé par l'Agency for Healthcare Research and Quality américaine a été créé pour promouvoir les recherches guidées par les patients. Des standards (COS-STAD) pour l'identification et la priorisation des résultats clés existent également depuis 2017 .

Exemples de résultats axés sur les patients
Les résultats en santé suivants sont souvent jugés comme importants par les patients  :
 Symptômes
 Qualité de vie
 Durée de vie
 Mortalité
 Récurrence de la maladie
 Risque de développer des handicaps, morbidité
 Coûts liés à l'affection ou au traitement
 Effets indésirables, complications
 Connaissances quant aux risques des traitements, bénéfices
 Modification des compétences (ex : gestion de l'anxiété)
 Modifications du poids
Les résultats jugés comme étant importants peuvent varier en fonction de nombreux facteurs tels que la condition médicale (si une maladie guérit généralement d'elle-même en quelques jours des modifications des symptômes peuvent être jugées moins importantes qu'avec une maladie durant des années), le statut économique (les personnes ayant beaucoup de ressources peuvent juger les coûts moins importants que celles ayant des revenus plus limités) et la durée de vie estimée (les personnes de 105 ans pourraient juger une augmentation de la durée de vie comme moins importante que celles de 20 ans).

Bénéfices
 Augmentation de la pertinence et de l'utilité des recherches en santé pour les patients
 Si les patients peuvent sélectionner les résultats jugés importants et utiles pour ceux-ci la probabilité que des recherches leur semblent pertinentes et qu'ils souhaitent appliquer les résultats de celles-ci pourrait être supérieure.
 Meilleur recrutement des participants dans les études et meilleure rétention de ceux-ci
 Lorsque l'étude porte sur un résultat directement important aux participants (ex : décès) plutôt que sur un résultat dont l'importance est plus difficile à établir (ex : score CHADS2) les participants seraient alors plus motivés à la fois à participer à l'étude et à rester dans celle-ci.

Risques
 Augmentation des coûts de la recherche, des ressources nécessaires
 Par exemple lorsque des résultats sont rajoutés aux études alors qu'il n'était pas initialement prévu de les mesurer.
 Temps et efforts requis de la part des patients
 Notamment lors des interviews, trajets ou des sondages avec ceux-ci pour permettre d'établir les résultats jugés importants.
 Biais liés aux préférences non-représentatives de certains patients
 Certains patients pourraient essayer de diriger les recherches en santé vers certains résultats qu'ils jugent importants alors que la large majorité des patients similaires ne les jugent pas comme étant importants.

Bibliographie
 Nature Publishing Group (Londres, Gran Bretaña). (n.d.). Patient - Patient-Centered Outcomes Research. Repéré à https://link.springer.com/journal/40271
 Sabino G,  Mills A,  Jonker AH,  Lau LPL ,  Aartsma - Ru s A, Aarum S, Arora J, Calvert M , Cano SJ,  Denegri S,  Hass S, Kelley TA, Klassen AF,  Kodra Y, Légout V, Hivert V,  Morel T, Payne K, Posada M,  Prainsack B,  Moy  CS,  Schmitt  J,  Summar  M,  Terry  SF,  Terw ee  CB,  Vernon  M,  Williamson  PR, Aymé  S,  Eds., " Patient - Cen tered Outcome Measures in the Field of Rare Diseases ",  February 2016. Repéré à http://www.irdirc.org/wp-content/uploads/2016/03/PCOM_Post-Workshop_Report_Final.pdf
  Jonas, D., Jonas, D., United States., & Research Triangle Institute-University of North Carolina Evidence-based Practice Center. (2011). Identifying priorities for patient-centered outcomes research for serious mental illness. Rockville, MD: Agency for Healthcare Research and Quality. Repéré à http://www.mentalhealthexcellence.org/wp-content/uploads/2013/09/2011_0930_WhitePaper_MentalHealth.pdf

Références

Soins de santé


This is the index to a series of articles on leaders and leadership in church life.
The first part is an overview and explains how the idea for the series came about. The second and third posts examine a verse in Hebrews, often quoted to support hierarchical, structural, appointed leaders. The other articles look at other aspects of leaders and leadership and some other relevant New Testament verses.
Leadership and the New Testament – How should we manage and govern our meetings?
Herod and the astrologers – Matthew 2:1-12, who would you follow?