Users¶
Welcome to the Mappening Users API! The simplest way to access the API is to go to the url www.mappening.io/api/v2/users. See the explanation of the API below. The Users API is NOT intended to be a public API, admin permissions required to access any other user data.
 Unique identifiers and user status/access permissions are set in theaccount
fields.account: { id: "unique_int", is_active: true, is_admin: false, username: "str", password_hash: "str", time_joined: "datetime", time_updated: "datetime" }
-
id
Uniquely identifies the User object. Should be a unique int, typically from Facebook accounts.
-
is_active
¶ Specifies whether or not a User is active. If true, User has an activated account that they can log in to, otherwise account will be rejected/suspended from use. User information remains in the database if deactivated.
-
is_admin
¶ Specifies whether or not a User has admin privileges. An admin can grant and remove privileges at will. Should probably create a superpowered admin but devs are too lazy.
-
username
¶ TODO: implement username/password accounts rather than just Facebook Authentication.
-
password_hash
¶ TODO: implement username/password accounts rather than just Facebook Authentication.
-
-
app
¶ The
app
object contains the app-related information for the User, or information that gives each User a personalized experience on Mappening.app: { filters: [`filter`, `filter`], favorites: [`event_id`, `event_id`], past_events: [`event_id`, `event_id`] }
-
filter
¶ Keeps track of what filters the User is currently using. If conflicting filters are present (such as now and upcoming), they are both present in the database but the Events filtering API will only return appropriate results for the first received filter.
Allowed values: ‘now’, ‘upcoming’, ‘period’, ‘morning’, ‘afternoon’, ‘night’, ‘oncampus’, ‘offcampus’, ‘nearby’, ‘popular’, ‘food’
-
-
personal_info
¶ The
personal_info
object contains User personal information to help customize interaction with each User.personal_info: { email<EMAIL_ADDRESS>full_name: "Dora D. DevX", first_name: "Dora", last_name: "DevX" }
-
email
¶ The string email of the User. May not be present in which case the field will be an empty string. TODO: email validation.
-
{
"account": {
"id": "1557193131009244",
"is_active": true,
"is_admin": true,
"password_hash": "",
"time_joined": "2018-05-12 12:26:03",
"time_updated": "2018-05-13 07:08:49",
"username": ""
},
"app": {
"favorites": [
"42",
"69"
],
"filters": [
"now",
"popular",
"food"
],
"past_events": [
"101",
"821"
]
},
"personal_info": {
"email"<EMAIL_ADDRESS>"first_name": "Katrina",
"full_name": "Katrina Wijaya",
"last_name": "Wijaya"
}
}
API Docs¶
-
mappening.api.users.
get_all_users
()¶ Route: GET / Description: Gets all users and their information Returns: JSON of all user info Requires: Admin permissions
-
mappening.api.users.
get_user_by_id
(user_id)¶ Route: GET /<user_id> Description: Gets single user with id user_id Parameters: user_id (int) – The unique ID of a specific user Returns: JSON of specific user info Requires: Admin permissions
-
mappening.api.users.
search_users
()¶ Route: GET /search?favorite=id Description: Gets ID and name of users as filtered by a specified event ID. If user has specified event listed as a favorite then is included in results. Parameters: favorite (str or None) – An optional query component/parameter where the ID of an event is passed Returns: JSON of all users matching filters Requires: Admin permissions
-
mappening.api.users.
update_user
(user_id)¶ Route: PUT<EMAIL_ADDRESS>Description: Updates user with id user_id. Updates any optional fields that are set as query parameters.
Parameters: - user_id (int) – The int ID of a specific user
- active (boolean or None) – An optional query component/parameter to update whether or not a user is active. If true, user has an activated account that they can log in to, otherwise account will be rejected/suspended from use
- admin (boolean or None) – An optional query component/parameter to update whether or not a user has admin permissions. All admins have same permissions so maybe should create a super admin.
- password (str or None) – An optional query component/parameter to update the password for a user. TODO: actually supporting passwords/salting/hashing.
- first_name (str or None) – An optional query component/parameter to update the user’s first name. Does not modify full name stored in database.
- last_name (str or None) – An optional query component/parameter to update the user’s last name. Does not modify full name stored in database.
- email (str or None) – An optional query component/parameter to update the user’s email. TODO: email verification.
Returns: JSON of updated user or an error message
Requires: Admin permissions
-
mappening.api.users.
add_user_through_api
()¶ Route: POST /?user_id=int&full_name=Katrina A<EMAIL_ADDRESS>Description: Add a new user with required id user_id and any optional fields that are set as query parameters.
Parameters: - user_id (int) – The int ID of a specific user
- full_name (str or None) – An optional query component/parameter to update the user’s full name.
- first_name (str or None) – An optional query component/parameter to update the user’s first name. Does not modify full name stored in database.
- last_name (str or None) – An optional query component/parameter to update the user’s last name. Does not modify full name stored in database.
- email (str or None) – An optional query component/parameter to update the user’s email. TODO: email verification.
- active (boolean or None) – An optional query component/parameter to update whether or not a user is active. If true, user has an activated account that they can log in to, otherwise account will be rejected/suspended from use
- admin (boolean or None) – An optional query component/parameter to update whether or not a user has admin permissions. All admins have same permissions so maybe should create a super admin.
- password (str or None) – An optional query component/parameter to update the password for a user. TODO: actually supporting passwords/salting/hashing.
- username (str or None) – An optional query component/parameter to update the username for a user. TODO: actually supporting usernames.
Returns: Success/error message
Requires: Admin permissions
-
mappening.api.users.
activate_user
(user_id)¶ Route: PUT /activate/<user_id> Description: Reactivates a user with id user_id. A user with an activated account can log in. Otherwise account is rejected/suspended from use. Parameters: user_id (int) – The unique ID of a specific user Returns: Success/error message Requires: Admin permissions
-
mappening.api.users.
deactivate_user
(user_id)¶ Route: PUT /deactivate/<user_id> Description: Deactivates a user with id user_id without deleting user from database. A user with an activated account can log in. Otherwise account is rejected/suspended from use. Parameters: user_id (int) – The unique ID of a specific user Returns: Success/error message Requires: Admin permissions
-
mappening.api.users.
remove_user
(user_id)¶ Route: DELETE /<user_id> Description: Removes a user with id user_id. User information stored in a different database. Parameters: user_id (int) – The unique ID of a specific user Returns: Success/error message Requires: Admin permissions
-
mappening.api.users.
get_user_filters
(user_id)¶ Route: GET /<user_id>/filter Description: Gets all filters for a single user with id user_id Parameters: user_id (int) – The unique ID of a specific user Returns: JSON of specific user’s filters Requires: Admin permissions
-
mappening.api.users.
replace_user_filters
(user_id)¶ Route: PUT /<user_id>/filter?filter=now&filter=popular
Description: Replaces all filters for a single user with id user_id. New filters passed by query parameter are validated.
Parameters: - user_id (int) – The unique ID of a specific user
- filter (str or None) – An optional query component/parameter that takes a list of values. Passed in values are validated as filters before being added.
Returns: Success/error message
Requires: Admin permissions
-
mappening.api.users.
add_user_filters
(user_id)¶ Route: POST /<user_id>/filter?filter=now&filter=popular
Description: Add new filters for a single user with id user_id. New filters passed by query parameter are validated. Only new filters are added, aka no duplicates are inserted.
Parameters: - user_id (int) – The unique ID of a specific user
- filter (str or None) – An optional query component/parameter that takes a list of values. Passed in values are validated as filters before being added.
Returns: Success/error message
Requires: Admin permissions
-
mappening.api.users.
remove_user_filters
(user_id)¶ Route: DELETE /<user_id>/filter?filter=now&filter=popular
Description: Remove filters for a single user with id user_id. Filters to remove are passed by query parameter. If no filters are specified, all of the user’s filters are removed.
Parameters: - user_id (int) – The unique ID of a specific user
- filter (str or None) – An optional query component/parameter that takes a list of values.
Returns: Success/error message
Requires: Admin permissions
-
mappening.api.users.
get_all_favorites
()¶ Route: GET favorites Description: Gets all unique favorited events for all users. Returns: JSON of all favorited events Requires: Admin permissions
-
mappening.api.users.
get_user_favorites
(user_id)¶ Route: GET /<user_id>/favorite Description: Gets all favorited events for a single user with id user_id Parameters: user_id (int) – The unique ID of a specific user Returns: JSON of specific user’s favorited events Requires: Admin permissions
-
mappening.api.users.
add_user_favorite
(user_id)¶ Route: POST /<user_id>/favorite?favorite=event_id&favorite=event_id
Description: Add new favorited events for a single user with id user_id. Only unique events are added, aka no duplicates are inserted.
Parameters: - user_id (int) – The unique ID of a specific user
- favorite (int or None) – An optional query component/parameter that takes a list of values. Passed in values are int event IDs which uniquely identify an event.
Returns: Success/error message
Requires: Admin permissions
-
mappening.api.users.
remove_user_favorites
(user_id)¶ Route: DELETE /<user_id>/favorite?favorite=event_id&favorite=event_id
Description: Remove favorited events for a single user with id user_id. If no favorited events are specified, all of the user’s favorited events are removed.
Parameters: - user_id (int) – The unique ID of a specific user
- favorite (int or None) – An optional query component/parameter that takes a list of values. Passed in values are int event IDs which uniquely identify an event.
Returns: Success/error message
Requires: Admin permissions
-
mappening.api.users.
get_user_past_events
(user_id)¶ Route: GET /<user_id>/past Description: Gets all past events for a single user with id user_id Parameters: user_id (int) – The unique ID of a specific user Returns: JSON of specific user’s past events Requires: Admin permissions
-
mappening.api.users.
add_user_past_events
(user_id)¶ Route: POST /<user_id>/past?past_event=event_id&past_event=event_id
Description: Add new past events for a single user with id user_id. Only unique events are added, aka no duplicates are inserted.
Parameters: - user_id (int) – The unique ID of a specific user
- past_event (int or None) – An optional query component/parameter that takes a list of values. Passed in values are int event IDs which uniquely identify an event.
Returns: Success/error message
Requires: Admin permissions
-
mappening.api.users.
remove_user_past_events
(user_id)¶ Route: DELETE /<user_id>/past?past_event=event_id&past_event=event_id
Description: Remove past events for a single user with id user_id. If no past events are specified, all of the user’s past events are removed.
Parameters: - user_id (int) – The unique ID of a specific user
- past_event (int or None) – An optional query component/parameter that takes a list of values. Passed in values are int event IDs which uniquely identify an event.
Returns: Success/error message
Requires: Admin permissions


Thanks for your purchase!
This is your order confirmation. We have received your payment in good order.
Customer details
Name
Name Surname
Email
<EMAIL_ADDRESS>Order overview
Product name
Description
Event
Price
T.U.E.S.DAY
236429
Product group
€ 2,00
This is an automated email, please do not reply. For further questions, please refer to the webpage of the specific event you bought tickets for.


Logistic Regression Model Instanization and Training
# Import the sklearn ML library - Logistic Regression
from sklearn.linear_model import LogisticRegression
# Instance of the estimator
logistic_regression = LogisticRegression(n_jobs=-1, random_state =15)
# train the estimator
logistic_regression.fit(X_train, y_train)
# Evaluate the model
y_pred_test = logistic_regression.predict(X_test)
# we conduct our evaluation using these 3 _score
eval_metrix.loc['accuracy', 'LogisticReg Model']= accuracy_score(y_pred=y_pred_test, y_true=y_test)
eval_metrix.loc['precision', 'LogisticReg Model']= precision_score(y_pred=y_pred_test, y_true=y_test)
eval_metrix.loc['recall', 'LogisticReg Model']= recall_score(y_pred=y_pred_test, y_true=y_test)
# Confusion matrix for the logistic regression
CM = confusion_matrix(y_pred=y_pred_test, y_true=y_test)
CMatrix(CM)


Creating transaction protected applications using the Berkeley DB access methods is quite easy. In almost all cases, applications use db_appinit to perform initialization of all of the Berkeley DB subsystems. As transaction support requires all five Berkeley DB subsystems, the DB_INIT_MPOOL, DB_INIT_LOCK, DB_INIT_LOG and DB_INIT_TXN flags should be specified.
Once the application has called db_appinit, it should open the databases it will use. Once the databases are opened, the application can make changes to the databases, grouped inside of transaction calls. Each set of changes should be surrounded by the appropriate txn_begin, txn_commit and txn_abort calls.
The Berkeley DB access methods will make the appropriate calls into the lock, log and memory pool subsystems in order to guarantee transaction semantics. When the application is ready to exit, all outstanding transactions should have been committed or aborted.
Databases accessed by a transaction must not be closed during the transaction. Once all outstanding transactions are finished, all open Berkeley DB files should be closed. When the Berkeley DB database files have been closed, the environment should be closed by calling db_appexit.
It is not necessary to transaction protect read-only transactions, unless those transactions require repeatable reads. However, if there are update transactions present in the database, the reading transactions must still use locking, and should be prepared to repeat any operation (possibly closing and reopening a cursor) which fails with a return value of EAGAIN.
Consider an application suite where multiple processes (or, multiple threads of control in a single process, for that matter) are changing the values associated with a key in one or more databases. Specifically, they are taking the current value, incrementing it, and then storing it back into the database. There are two reasons that such an application needs transactions (other than the obvious requirement of recoverability after application or system failure):
The first additional reason for transactions is that the application needs atomicity, i.e., since we want to change a value that's currently in the database, we have to make sure that once we read it, no other thread of control modifies it. For example, let's say that both thread #1 and thread #2 are doing similar operations in the database, where thread #1 is incrementing records by 3, and thread #2 is incrementing records by 5. What we want to happen is to increment the record by a total of 8. If the operations interleave in the right (well, wrong) order, that is not what will happen:
thread #1 read record: the value is 2 thread #2 read record: the value is 2 thread #2 write record + 5 back into the database (new value 7) thread #1 write record + 3 back into the database (new value 5)
As you can see, instead of incrementing the record by a total of 8, we've only incremented it by 3, because thread #1 overwrote thread #2's change. By wrapping the operations in transactions, we ensure that this cannot happen. In a transaction, when the first thread reads the record, locks are acquired that will not be released until the transaction finishes, guaranteeing that all other readers and writers will block, waiting for the first thread's transaction to complete (or to be aborted).
The second additional reason is that when multiple processes or threads of control are modifying the database, there is the potential for deadlock. In Berkeley DB, deadlock is signified by an error return from the Berkeley DB function of EAGAIN.
Here is an example function that does transaction protected increments on database records:
int increment(dbenv, dbp, key, increment) DB_ENV *dbenv; DB *dbp; DBT *key; int increment; { DBT data; DB_TXN *tid; DB_TXNMGR *txnp; char buf[64];/* Initialization. */ txnp = dbenv->tx_info; memset(&data, 0, sizeof(data));
/* Abort and retry the modification. */ if (0) { retry: if (txn_abort(tid) != 0) err("txn_abort"); /* FALLTHROUGH */ }
/* Begin the transaction. */ if ((errno = txn_begin(txnp, NULL, &tid)) != 0) err("txn_begin");
/* Get the key. */ switch (errno = dbp->get(dbp, tid, key, &data, 0)) { case EAGAIN: goto retry; case 0: break; case DB_NOTFOUND: if (txn_commit(tid)) err("txn_commit"); return (0); }
/* Get the current value, add the increment. */ (void)sprintf(buf, "%d", atoi(data.data) + increment); data.data = buf; data.size = strlen(buf) + 1;
/* Store the new value. */ switch (errno = dbp->put(dbp, tid, key, &data, 0)) { case EAGAIN: goto retry; case 0: break; default: (void)txn_abort(tid); err("dbp->put"); }
/* The transaction finished, commit it. */ if ((errno = txn_commit(tid)) != 0) err("txn_commit");
return (0); }
In applications supporting transactions, note that all Berkeley DB functions have an additional possible error return: EAGAIN. In the above sample code, you can see that any time the Berkeley DB function returns EAGAIN, the transaction is aborted (txn_abort, which releases all of its resources), and then the transaction is retried, from scratch. There is no requirement that the transaction be attempted again, but that is the common thing for applications to do.
There is one additional error that transaction protected applications need to handle, and which is not shown in the above example.
There exists a class of errors that Berkeley DB considers fatal to an entire Berkeley DB environment. An example of this type of error is a log write failure due to the disk being out of free space. The only way to recover from these failures is for the application to exit, run recovery of the Berkeley DB environment, and re-enter Berkeley DB. (It is not strictly necessary that the application exit, although that is the only way to recover system resources, e.g., file descriptors and memory, currently allocated by Berkeley DB.)
When this type of error is encountered, the error value DB_RUNRECOVERY is returned. This error can be returned by any Berkeley DB interface. If a fatal error occurs, DB_RUNRECOVERY will be returned from all subsequent Berkeley DB calls made by any threads or processes participating in the environment.
Optionally, applications may also specify a fatal-error callback function by setting the db_paniccall field of the DB_ENV structure before initializing the environment with db_appinit. This callback function will be called with two arguments: a reference to the DB_ENV structure associated with the environment, and the errno value associated with the underlying error that caused the problem.
Applications can handle such fatal errors in one of two ways: by checking for DB_RUNRECOVERY as part of their normal Berkeley DB error return checking, similarly to EAGAIN in the above example, or, in applications that have no cleanup processing of their own, by simply exiting the application when the callback function is called.


 A JavaScript function is executed when "something" invokes it (calls it).
function myFunction(p1, p2) {
return p1 * p2; // The function returns the product of p1 and p2
}
JavaScript Function Syntax
A JavaScript function is defined with the function keyword, followed by a name, followed by parentheses (). Function names can contain letters, digits, underscores, and dollar signs (same rules as variables). The parentheses may include parameter names separated by commas: (parameter1, parameter2, ...) The code to be executed, by the function, is placed inside curly brackets: { }
function name(parameter1, parameter2, parameter3) {
// code to be executed
}
Function parameters are listed inside the parentheses () in the function definition. Function arguments are the values received by the function when it is invoked. Inside the function, the arguments (the parameters) behave as local variables.
Using Comments to Prevent Execution
Using comments to prevent execution of code is suitable for code testing. Adding // in front of a code line changes the code lines from an executable line to a comment. This example uses // to prevent execution of one of the code lines:
Function Return
When JavaScript reaches a return statement, the function will stop executing. If the function was invoked from a statement, JavaScript will "return" to execute the code after the invoking statement. Functions often compute a return value. The return value is "returned" back to the "caller":
var x = myFunction(4, 3); // Function is called, return value will end up in x
function myFunction(a, b) {
return a * b; // Function returns the product of a and b
}
The result in x will be:
12
The () Operator Invokes the Function
Using the example above, toCelsius refers to the function object, and toCelsius() refers to the function result. Accessing a function without () will return the function object instead of the function result.
function toCelsius(fahrenheit) {
return (5/9) * (fahrenheit-32);
}
document.getElementById("demo").innerHTML = toCelsius;
Local Variables
Variables declared within a JavaScript function, become LOCAL to the function. Local variables can only be accessed from within the function.
// code here can NOT use carName
function myFunction() {
var carName = "Volvo";
// code here CAN use carName
}
// code here can NOT use carName


{{left_sidebar_enabled,right_sidebar_enabled=False,True}} {{extend 'layout.html'}}
The system has been successfully initialised {{=bla}}
You should now edit the subject description


| Delivery ID | Time | Recipient | Address | Food type | Quantity | Unit of measurement | Halal | Status |
|---|---|---|---|---|---|---|---|---|
|<PHONE_NUMBER> | 18:00, 18 Sep 2017 | Tan Ah Seng | 100 Ang Mo Kio Ave 6 | Canned food | 3 | can | No | rejected |
|<PHONE_NUMBER> | 12:00, 21 Sep 2017 | Tan Ee Seng | 107 Ang Mo Kio Ave 6 | Perishable | 1 | kilogram | Yes | delivered |
|<PHONE_NUMBER> | 09:00, 22 Sep 2017 | Tan Mah Seng | 107 Ang Mo Kio Ave 10 | Condiments | 400 | gram | No | cancelled |


Daily Deals (11-18-2019)
by Brad LinderDell’s XPS 13 thin and light laptop is now available with a choice of 10th-gen Intel “Comet Lake” processors. But they’re not cheap — a model with a Core i5 processor, 8GB of RAM, and 256GB of storage will set you back $1100.
But you know what happens when PC makers release new models with the latest chips? They cut prices on older models to clear out inventory… even if the older computers almost as good in almost every way.
Case in point: Right now Dell is selling an XPS 13 with similar specs for just $850. The only catch? It has year-old, 8th-gen Intel chip rather than a brand new 10th-gen processor.
But it’s $250 cheaper.
Here are some of the day’s best deals.
Windows Laptops
- Dell XPS 13 9380 13″ laptop w/Core i5-8265U/8GB/256GB for $850 – Dell (via eBay)
- Samsung Notebook 7 Spin 13″ convertible w/Core i5-8250U/8GB/512GB for $650 – Best Buy
- Asus VivoBook F512 15.6″ 3.5lb laptop w/Ryzen 5 3500U/8GB/128GB SSD + 1TB HDD for $560 – Newegg
- Asus VivoBook 15.6″ 3.8lb laptop w/Core i7-8565U/12GB/256GB for $550 – Best Buy
- Asus Q406 14″ laptop w/Ryzen 5 3500U/8GB/256GB for $580 – Best Buy
Chromebooks
- Lenovo 100e Chromebook 11.6″ w/MT8173C/4GB/16GB for $110 – Walmart
- Acer Spin 11 convertible Chromebook w/Celeron N3350/4GB/32GB for $259 – Best Buy
- Lenovo C340 11.6″ convertible Chromebook w/Celeron N4000/4GB/32GB for $259 – Best Buy
Tablets
- Microsoft Surface Pro 7 w/Core i3/4GB/128GB + Type Cover for $649 – Microsoft Store
- Microsoft Surface Pro 6 w/Core i5/8GB/128GB for $699 – Microsoft Store
Unlocked Smartphones
- OnePlus 7 Pro w/SD855/8GB/256GB for $549 – OnePlus
- OnePlus 6T w/SD845/8GB/256GB for $449 – OnePlus
- Google Pixel 3a XL w/SD670/4GB/64GB for $380 – Amazon
- Refurb Google Pixel 3 XL w/SD845/4GB/128GB (Verizon Unlocked) for $400 – Woot
- Razer Phone 2 w/SD845/8GB/64GB/120Hz display for $400 – Amazon
- Nokia 8 w/SD835/4GB/64GB for $170 – Woot
- Samsung Galaxy Note 10+ SM-950/DS w/SD855/12GB/256GB for $800 – Never MSRP (via eBay)
Smart speakers & displays
- Amazon Echo Dot (3rd-gen) for $35 – Amazon
- Amazon Echo Dot (3rd-gen) w/clock for $45 – Amazon
- Amazon Echo 5 2-pack for $90 – QVC (coupon: TAKE10)
Wireless headphones
- Sony WH-XB900N wireless noise-cancelling headphones (extra bass) for $128 – Amazon
- Anker Soundcore Life Q10 Bluetooth over-ear headphones for $34 – Amazon
Storage
- Samsung FIT PLus 256GB USB 3.1 flash drive for $38 – Newegg (coupon: EMCUUUD22)
- Sabrent Rocket Nano 1TB USB 3.2 portable SSD for $100 – Amazon (coupon: 19P5C1YW + on-page coupon)
PC accessories
- LG ultra-wide and/or 4K monitors for up to 33-percent off – Amazon
- Brother printers for up to 40-percent off – Amazon
- Logitech MK320 wireless keyboard & mouse for $17 – Woot
Digital media
- 11 Bit Studios PC game sale – Humble Bundle
- Amazon Music Unlimited 4-month subscription for $0.99 – Amazon (new subscribers only)
- Amazon Kindle Unlimited 6-month subscription for $30 (half price) – Amazon


PyParsers¶
PyParsers is a pure python3 micro framework that aims at letting you easily design and implement a parser for the DSL you have in mind. Concretely, it pursues the following two objectives:
You shouldn’t need to learn yet another framework for doing what you want. The code should be easily understood, even in a far away future.


--- layout: post title: concocting slang tags: - Tumble status: publish type: post published: true meta: _edit_last: '1' ---
And I'm sure Tuba News would agree.
Which reminds me. If you haven't checked out the Google Chart API, you must. That project is the tuba. With the recent ChartMaker available, it reminds me where SaaS is going.


The Project Guides are documents created within the documentation framework and maintained manually.
It has one section:
Release Notes:
The Release Notes are provided by Propelics with each release.
Release issues and test plans will be tracked outside this website by the Project Management team and the Quality Assurance team from Propelics.


dirichlet_multinomial_anova_mc.Rd
Dirichlet multinomial GLM likelihood ratio test for a single cluster
dirichlet_multinomial_anova_mc(xFull, xNull, y, concShape = 1.0001, concRate = 1e-04, robust = T, outlier_prior_a = 1.01, outlier_prior_b = 100, fit_null = NULL, debug = F, init = "smart", smart_init_regularizer = 0.001, ...)
| xFull | [samples] x [covariates] matrix for the alternative model |
|---|---|
| xNull | [samples] x [covariates] matrix for the null model |
| y | [samples] x [introns] matrix of intron usage counts |
| concShape | Gamma shape parameter for concentration parameter |
| concRate | Gamma rate parameter for concentration parameter |
| robust | Whether to include an outlier model (i.e. use dm_glm_multi_conc_robust rather than dm_glm_multi_conc) |
| outlier_prior_a | Only used for robust model. The outlier probability outlier_prob ~ Beta(outlier_prior_a,outlier_prior_b) |
| outlier_prior_b | Only used for robust model. The outlier probability outlier_prob ~ Beta(outlier_prior_a,outlier_prior_b) |
| fit_null | Optionally cache the fitted null model to save repeatedly fitting the null for each cis-SNP when sQTL mapping) |
| debug | Whether to give verbose output from rstan. |
| init | Can be one of "smart", "random". smart uses an method of moments estimator to get a reasonable initialization. The seed for "random" can be set through the ... arguments passed to rstan::optimizing. |
| smart_init_regularizer | Used to protect against colinear covariates. |
| ... | will be passed on the rstan::optimizing, so can be used for example to set the algorithm used (default is LBFGS) or the random seed if random initialization is requested. |


Provides the classes necessary for controller/view to the application
A controller represents one of the main menu function and view.


1. Belarusians are extremely hospitable
Belarusians are known for their modesty, kindness and hospitability. Everybody is eager to offer help to tourists and visitors (except perhaps some moody salespeople in tiny village stores).
2. It’s got an ancient fairy-tale forest
The biggest old-growth European forest – Belovezhskaya Pushcha – is situated in Belarus. Home to European bison and hundreds of other animals and birds, Belovezhskaya Pushcha is all that remains of the primeval forest that once stretched across the vast European Plain. Some oak trees growing in this forest are more than 600 years old. However, Belovezhskaya Pushcha is noteworthy for more than just its age – on December 8, 1991, the leaders of Belarus, Russia and Ukraine signed the agreement for the dissolution of the Soviet Union in a hunting lodge in the forest.
3. Russian language prevails in communication
Both Belarusian and Russian are considered official languages, but only around 10% of citizens use Belarusian in everyday communication. Many inhabitants speak trasianka – a mixture of Belarusian and Russian.


BUT FOREVER IN MY MIND A film review by Steve Rhodes Copyright 2000 Steve Rhodes RATING (0 TO ****): ***
The differences between an Italian teenage romantic comedy like Gabriele Muccino's BUT FOREVER IN MY MIND (COME TE NESSUNO MAI) and the typical American one are dramatic. This smartly written farce doesn't contain a single instance of bathroom humor and no one falls down drunk. Instead we get a Shakespearean-style plot of confused intentions set against the satirical backdrop of student revolution. In short, it's sweeter, more intelligent and more fun than its average American counterpart.
Silvio Muccino, who shares writing credits with the director, plays a charming but unsure youth named Silvio. He and his buddies ponder that age old dilemma of how they will ever be able to "score" with the girls. The director has the camera cut to a group of girls who share the same concerns, although they express them somewhat differently.
As the story begins, the kids have their attention diverted by their regularly scheduled revolution. Since they are planning on shutting the school down again, Silvio suggests they choose a different theme for this year's occupation of the administration. His fellow students shout him down as some sort of reactionary. They clearly want to wave their same Che Guevara flags and shout their same tried-and-true slogans. When they do take over the building, the jubilant kids whoop and holler like students from the 50s on a panty raid.
A hilarious subplot has Silvio's upper-middle-class parents (Luca De Filippo and Anna Galiena), admitted ex-revolutionaries themselves, chastising Silvio for his protest activities. The father says that he fought against the Vietnam War and the bourgeoisie, whereas his son's causes are more trivial. Since Silvio's fellow "radicals" are railing against school "standardization and privatization," his father does have a point.
Actually Silvio's heart isn't in the revolution, although he's willing to pack his sleeping bag and join the other students if it means he can pick up the girl of his dreams, Valentina (Giulia Carmignani). He actually gets to kiss Valentina once in the Archives, the news of which travels at the speed of light to the rest of the school, especially to Martino (Simone Pagani), Valentina's boyfriend and Silvio's buddy.
Meanwhile, Claudia (Giulia Steigerwalt), who likes Silvio but has never had the courage to tell him, hears of the incident in Archives and begins to rethink her infatuation. This leads to a long series of misunderstandings about who really loves whom.
The final proof of the difference in how the two nationalities approach romantic comedy among teens can be found in the casting. American films cast the most voluptuous females for the teen roles.  (In the unlikely event that this cast was given to an American director, he would probably change the script to have Silvio's friends abandoning all thoughts of girls their age in favor of having an affair with his mother.)
BUT FOREVER IN MY MIND runs 1:28. The film is in Italian with English subtitles. It is not yet rated but will probably be an R for some profanity and sexuality and would be fine for teenagers.
The film will be playing as part of the San Francisco International Film Festival (http://www.sfiff.org), which runs April 20 to May 4, 2000. It does not currently have a United States release date.
Email<EMAIL_ADDRESS>Web: http://www.InternetReviews.com
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Here are your best event choices based on the preferences you selected! You can find more information on these events here.


Profile Skolah
You can replace all this text with your own text. Want an easier solution for a Free Website?
Head straight to Wix and immediately start customizing your website!
Wix is an online website builder with a simple drag & drop interface, meaning you do the work online and instantly publish to the web.


This looks like a scam website.
- The address of the website is pretending to be paypal.com, but is actually e93fa51d50bd55cf600225279be4ac95.in.
- It is asking for a username/password over an unsafe and unencrypted connection.
We suggest you
CLOSE THIS WINDOW.


FEL Standalone September 2019 Net Sales at Rs 1,323.19 crore, up 9.02% Y-o-Y
Reported Standalone quarterly numbers for Future Enterprises Limited are:
Net Sales at Rs 1,323.19 crore in September 2019 up 9.02% from Rs. 1,213.74 crore in September 2018.
Quarterly Net Profit at Rs. 16.22 crore in September 2019 up 132.05% from Rs. 6.99 crore in September 2018.
EBITDA stands at Rs. 398.81 crore in September 2019 up 17.13% from Rs. 340.48 crore in September 2018.
FEL EPS has increased to Rs. 0.33 in September 2019 from Rs. 0.19 in September 2018.
FEL shares closed at 26.30 on November 05, 2019 (NSE) and has given -20.42% returns over the last 6 months and -33.16% over the last 12 months.
| Future Enterprises Limited | |
| Standalone Quarterly Results | in Rs. Cr. |
| Sep'19 | Jun'19 | Sep'18 | |
| Net Sales/Income from operations | 1,323.19 | 1,097.63 | 1,213.74 |
| Other Operating Income | -- | -- | -- |
| Total Income From Operations | 1,323.19 | 1,097.63 | 1,213.74 |
| EXPENDITURE | |||
| Consumption of Raw Materials | 23.77 | 15.14 | 23.31 |
| Purchase of Traded Goods | 843.27 | 738.29 | 902.29 |
| Increase/Decrease in Stocks | 12.91 | -32.65 | -97.55 |
| Power & Fuel | -- | -- | -- |
| Employees Cost | 29.07 | 28.77 | 24.75 |
| Depreciation | 219.30 | 203.87 | 189.79 |
| Excise Duty | -- | -- | -- |
| Admin. And Selling Expenses | -- | -- | -- |
| R & D Expenses | -- | -- | -- |
| Provisions And Contingencies | -- | -- | -- |
| Exp. Capitalised | -- | -- | -- |
| Other Expenses | 23.45 | 19.21 | 29.12 |
| P/L Before Other Inc. , Int., Excpt. Items & Tax | 171.42 | 125.00 | 142.03 |
| Other Income | 8.09 | 6.31 | 8.66 |
| P/L Before Int., Excpt. Items & Tax | 179.51 | 131.31 | 150.69 |
| Interest | 155.62 | 151.01 | 141.10 |
| P/L Before Exceptional Items & Tax | 23.89 | -19.70 | 9.59 |
| Exceptional Items | -- | -- | -- |
| P/L Before Tax | 23.89 | -19.70 | 9.59 |
| Tax | 7.67 | -6.88 | 2.60 |
| P/L After Tax from Ordinary Activities | 16.22 | -12.82 | 6.99 |
| Prior Year Adjustments | -- | -- | -- |
| Extra Ordinary Items | -- | -- | -- |
| Net Profit/(Loss) For the Period | 16.22 | -12.82 | 6.99 |
| Equity Share Capital | 98.71 | 98.71 | 98.72 |
| Reserves Excluding Revaluation Reserves | -- | -- | -- |
| Equity Dividend Rate (%) | -- | -- | -- |
| EPS Before Extra Ordinary | |||
| Basic EPS | 0.33 | -0.26 | 0.19 |
| Diluted EPS | 0.33 | -0.26 | 0.19 |
| EPS After Extra Ordinary | |||
| Basic EPS | 0.33 | -0.26 | 0.19 |
| Diluted EPS | 0.33 | -0.26 | 0.19 |
| Public Share Holding | |||
| No Of Shares (Crores) | -- | -- | -- |
| Share Holding (%) | -- | -- | -- |
| Promoters and Promoter Group Shareholding | |||
| a) Pledged/Encumbered | |||
| - Number of shares (Crores) | -- | -- | -- |
| - Per. of shares (as a % of the total sh. of prom. and promoter group) | -- | -- | -- |
| - Per. of shares (as a % of the total Share Cap. of the company) | -- | -- | -- |
| b) Non-encumbered | |||
| - Number of shares (Crores) | -- | -- | -- |
| - Per. of shares (as a % of the total sh. of prom. and promoter group) | -- | -- | -- |
| - Per. of shares (as a % of the total Share Cap. of the company) | -- | -- | -- |
| Source : Dion Global Solutions Limited |


chocolate pizza
POSETED ON 15 DEC 2013/DESSERTS
-
PRINT
For the fig-swirl: Melt butter over medium heat in a saucepan.. Add brown sugar and stir to dissolve. Halve all of the figs and toss in the saucepan with water and lemon juice. Cook over medium heat, stirring frequently, until you have a chunky-jammy mixture. Add salt with one or two stirs, set aside and let cool completely.
Ice cream: In a small pot over medium heat, combine nuilk and granulated sugar unil sugar is completely dissolved and the milk is just barely lukewarm. Whisk in the egg yolks. Set mixture in the fridge and wait until the fig mixture is cooled.
Using an ice cream machine, pour liquids into the frozenbasin and process according to manufacturer instructions, Le. let spin and thicken for 20 minutes before adding mascarpone fg jam mixture, and the nuts Continue to process for +/- 10 minutes. Pour semi frozen mixture into a pyrex dish or glass tupperware. Freeze for at least two hours before serving. 011/2 cups milk O1/2 cup mascarpone 1/2 tsp pink salt p11/2 cups heavy cream 4/3 granutated sug
Vanessa Stevenson
Food enthusiast,photography fan .add a pinsh of raw foodism and that's pretty much who I am


There are two major products that came out of Berkeley: LSD and UNIX. We do not believe this to be a coincidence.
- Jeremy S. Anderson
Servers-those devices systems administrators are likely to deal with.
Logging-tracking all activity for funny business.
Backups-making redundant copies of all important data.
Web-presenting data on the world wide stage.
Database-where one can keep their data.
There is only one satisfying way to boot a computer.
- J.H. Goldfuss
The best way to accelerate a Macintosh is at 9.8m/sec/sec.
- Marcus Dolengo
Wise are those who backup, for their data will be safe in the the day of trouble. Even though they face the blue screen of death, they shall fear no evil.
- T.E. Ronneberg
Those parts of the system that you can hit with a hammer (not advised) are called hardware; those program instructions that you can only curse at are called software.
- Author Unknown
“All problems in computer science can be solved by another level of indirection… Except for the problem of too many layers of indirection.”
- David Wheeler
Quotes
Server
Log
Backup
Backup Cont.
Web Servers
Database
For full references See Source Code


Beat Drop's Catalog
Beats Studio
- Top quality leather for Durability and Comfort
- Wireless for easy handling
- Comfortable size setting headband
- Top quality music and sound
- Perfect boosted bass
- Still Treble with no waver
- Excellent detail and music precision
- Excellent Noise Cancelling for soundless enjoyment
- Battery Charged
Excellent Quality Beats Earphones that will function perfecly under any cicrumstance. Price - 300 Dollars US
Bose SoundTrue II
- Excellent noise cancelling technology
- Comfortable and soft leather
- Reasonable Durability
- Titanium Headband
- Great Music
- Excellent Treble
- Bass Boosted
- Excellent color schemes
Best comfort headphones in the industry and perfect sound cancelling system. Price - 350 Dollars US
Audio Technica ATH-M50X
- Excellent Noise Cancelling technology for guaranteed Music comfort
- Sturdy and Durable materials
- Comfortable leather padding for over ear use
- Best Music Quality right now
- Best Bass Booster in the industry
- Highest and clearest Treble among all earphones
- Clearest sounds and most definitive
- Excellent for all types and genres of music
- Just looks plain cool and swag
Extremely comfortable and swag looking pair of earphones. Somewhat heavy but the sound quality is well worth its weight. Price - 400 Dollars US
Sennheiser RS 165
- Wireless Headhones with no interruption in music
- Excellent material and durable metal
- Comfortable steer padding
- Noisless interruption from the outside
- Music Qualities
- Deep bass
- Perfect high soprano
- Clear treble
- Easy and quick charge
Extremely large and well developed and tough pair of earphones. Quite heavy but the noise level and noise cancelling technology is the best in the world. Price - 600 Dollars US
Shure SRH840
- Excellent Music
- Low Bass
- High Treble
- Durable material
- Comfortable padding
- Noise Cancelling
- Reasonable Prices
Shure may not be a widely known or well known brand but they are commited to every piece of material that they make and every piece is well designed with the thought og music on their minds. Price - 450 Dollars US


AlterNet Community Discussion
You know what we think -- now we want to hear what you think! That's why, at the end of every new story and blog post, we've provided space for your comments. The comments area is a shared community space for readers to contribute feedback, ideas and information. You're invited to drop in anytime and give us an earful. Be on the lookout for comments from writers and editors as they respond and contribute to the discussion!
Check out the 40 stories and blog posts most commented on in the past week.
Courtney E. Martin, AlterNet. December 20, 2006. [
214 total comments
]
The majority of working moms who leave their jobs do so because of inflexible office policy, not Martha Stewart fantasies.
Matt Taibbi, RollingStone.com. December 20, 2006. [
199 total comments
]
The Left Behind video game encourages you to celebrate the birth of Jesus by wasting dozens of people at a time, using a variety of Christ-sanctioned weapons.
Chris Hedges, The Nation. December 23, 2006. [
190 total comments
]
There's nothing outrageous or bigoted about Jimmy Carter's book arguing that Palestinians are victims of apartheid, as critics are claiming. If anything, Carter mutes his case.
Robert Scheer, Truthdig. December 21, 2006. [
187 total comments
]
The Bush Administration is hooked on the drug of military might, with Gates calling for sending more troops to a war we can't win.
Joshua Holland, AlterNet. December 23, 2006. [
140 total comments
]
Israel may well find itself at war with Syria and Hezbollah in the coming months, and the American foreign policy establishment needs to let go of its long-standing biases to prevent these conflicts.
Robert Weitzel, Smirking Chimp. December 21, 2006. [
117 total comments
]
In his position as the Alpha Male, leader-of-the-pack, Bush may represent the vanguard of our species' future evolutionary development.
Anthony Arnove, AlterNet. December 20, 2006. [
110 total comments
]
Each day the occupation continues, life gets worse for most Iraqis. Yet the U.S. still won't admit to failure.
Marc Mauer, TomPaine.com. December 22, 2006. [
78 total comments
]
The United States has now become the world leader in its rate of incarceration, locking up its citizens at 5-8 times the rate of other industrialized nations.
Liz Langley, AlterNet. December 22, 2006. [
71 total comments
]
In the name of peace, find a partner -- or find yourself -- and have an orgasm. Just don't fake it.
Marjorie Kelly, Tellus Institute. December 21, 2006. [
70 total comments
]
The U.S. media might have missed the significance of the Stern Review on the Economics of Climate Change, but the public shouldn't miss the message: It's about hope.
Cristina Page, TomPaine.com. December 21, 2006. [
58 total comments
]
Family planning has led to seismic change in our society, but not the kind of change the religious right would have you believe.
Larisa Alexandrovna, AlterNet. December 22, 2006. [
54 total comments
]
It's becoming increasingly clear that the US is in a holding pattern with regard to Iraq, stuck on stall while our soldiers and more Iraqis die.
Paul Rogat Loeb, AlterNet. December 20, 2006. [
52 total comments
]
How Hillary Clinton pocketed campaign contributions and shortchanged the Democratic Party in the name of personal political power.
Charlie Cray, Phil Mattera, TomPaine.com. December 22, 2006. [
48 total comments
]
After years of lax congressional oversight, most Americans think corporations wield too much power. Only by restoring the balance between government and the private sector can corporate America regain the public's trust.
Mary Shaw, AlterNet. December 20, 2006. [
45 total comments
]
It only takes one look at tinseled-out storefronts to see that Christmas is alive and thriving.
Joshua Holland, AlterNet: PEEK. December 21, 2006. [
43 total comments
]
Joshua Holland: Hmmmm ...
Cenk Uygur, AlterNet: PEEK. December 20, 2006. [
34 total comments
]
Cenk Uygur: Capitalism
Evan Derkacz, AlterNet: Video. December 21, 2006. [
30 total comments
]
'I trust that this will be the last time my work is cited by Focus on the Family'
Evan Derkacz, AlterNet: Video. December 21, 2006. [
29 total comments
]
Muslim Dem out-graces Christian Rep...
Molly M. Ginty, Women's eNews. December 20, 2006. [
28 total comments
]
Across the U.S., female animals exposed to toxic chemicals are suffering from a flurry of health problems, from shrunken ovaries to spontaneous abortions. What does this mean for female humans?
Earl Ofari Hutchinson, AlterNet. December 21, 2006. [
28 total comments
]
Civil rights leaders unfortunately know all too well the appropriate community response when whites are responsible for hate crimes against blacks, but what about when the tables are turned?
Joshua Holland, AlterNet: PEEK. December 21, 2006. [
25 total comments
]
Joshua Holland: I'm just sayin' ...
Jeffrey Klein, Paolo Pontoniere, New America MediaAlterNet: War on Iraq. December 21, 2006. [
23 total comments
]
Saudi Arabia, fearful of a nuclear Iran and a Shiite Iraq, is taking steps to influence U.S. policy in Iraq. The kingdom may also be building its own nuclear program.
Rebecca Solnit, Tomdispatch.com. December 23, 2006. [
22 total comments
]
A view of our recent past from the distant future -- from the death of the Republican party to the Latin Americna renaissance.
Evan Derkacz, December 23, 2006. [
21 total comments
]
A Christian from Middle America spends '30 Days' as a Muslim...
Evan Derkacz, AlterNet: PEEK. December 20, 2006. [
18 total comments
]
Robert Reich: Can we?
Arianna Huffington, AlterNet. December 21, 2006. [
15 total comments
]
The annual list of presents for favorite -- and not so favorite -- public figures.
Norman Solomon, Jeff Cohen, AlterNet. December 26, 2006. [
15 total comments
]
Many can plausibly lay claim to stinky media performances, but only a few can win a P.U.-litzer.
Robert Parry, Consortium News. December 26, 2006. [
12 total comments
]
Intelligence sources say President Bush -- along with Israel's Ehud Olmert and the UK's Tony Blair -- are weighing the possibility of Israeli-led attacks on Syria and Iran in early 2007, with the United States providing logistical back-up.
Alexander Zaitchik, December 22, 2006. [
12 total comments
]
The dean of conservative columny tees off on citizen journalism.
Bob Geiger, AlterNet: PEEK. December 20, 2006. [
11 total comments
]
Rejoice, poor people!
Jeanine Plant, AlterNetAlterNet: Movie Mix. December 23, 2006. [
11 total comments
]
Despite its ripped-from-the-headlines feel,
Home of the Brave
, the new film about Iraq war veterans who have trouble readjusting to life at home, is Hollywood all the way.
Joshua Holland, December 21, 2006. [
11 total comments
]
Joshua Holland: Can these guys do math?
Evan Derkacz, AlterNet: PEEK. December 21, 2006. [
10 total comments
]
Hint: it's "deeper than Islam"
Joshua Holland, AlterNet: PEEK. December 20, 2006. [
10 total comments
]
Joshua Holland: Could there be a more counterproductive policy than the "source country" strategy in the "War on Drugs"?
Rory O'Connor, AlterNetAlterNet: MediaCulture. December 20, 2006. [
10 total comments
]
CBS News Chief Sean McManus discusses the future's newsroom, citizen media, and the failure of pre-Iraq media.
Evan Derkacz, December 20, 2006. [
10 total comments
]
And proven liar...
Jessica Valenti, AlterNet: PEEK. December 21, 2006. [
10 total comments
]
What could be more fun...
Joshua Holland, AlterNet: PEEK. December 26, 2006. [
8 total comments
]
Joshua Holland: And gives the stay-the-course crowd a spanking.
Most E-Mailed Stories
Every story has an e-mail feature so you can quickly share your favorites with friends. Take a look at
AlterNet's most emailed stories and blog posts
of the week.
« AlterNet Home


magni.cs.reconstruction.iht.config module
Module providing configuration options for the magni.cs.reconstruction.iht
subpackage.
Routine listings
- get(key=None)
- Get the value of one or more configuration options.
- set(dictionary={}, **kwargs)
- Set the value of one or more configuration options.
Notes
This module instantiates the Configger class provided by magni.utils.config
and assigns handles for the get and set methods of that class instance. The
configuration options are the following:
- iterations : int
- The maximum number of iterations to do (the default is 300).
- kappa : float
- The relaxation parameter used in the algorithm (the default is 0.65).
- precision_float : dtype
- The floating point precision used for the computations (the default is
float64).
- threshold : [‘far’, ‘oracle’]
- The method for selecting the threshold value.
- threshold_rho : float
- The assumed rho value used for selecting the threshold value if using the
oracle method.
- tolerance : float
- The least acceptable ratio of residual to measurements (in 2-norm) to break
the interations (the default is 0.001).
-
magni.cs.reconstruction.iht.config.get(key=None)[source]
Get the value of one or more configuration options.
This function wraps ‘Configger.get’ in order to convert any float options
to the specified precision before returning the option(s).


Nuxeo Platform 5.8 Release Notes
These release notes are a merge of the previous Fast Track release notes available here.
For Users
Nuxeo Drive
Nuxeo Drive enables bidirectional synchronization of content between the local desktop and the Nuxeo content repository, on premise or in the Cloud. It works with all applications built on the Nuxeo Platform, including Document Management, Digital Asset Management, Case Management, or a custom content-centric application.
Nuxeo Drive can be used behind a proxy.
We also added the unified settings panel:
DAM
Customizable with Nuxeo Studio
Redesign from the ground up using ContentView, Layouts and widgets. It makes every part of DAM screen (search panel, result panel, asset view) easy to customize using Nuxeo Studio.
- Define the Left Hand Side with your own search layout
- Define the layout for the fields displayed in the thumbnail
- Define the Right Hand Side data for the selected asset (view/edit, as toggable layout)
- Define the Bulk-edit layout
- Define toolbar buttons, add your own
- Define the document types DAM can handle
Browse all Assets from the Repository
All the assets of the repository are displayed (not just the one under "Media Library")
DAM Drag and Drop
You can now drag and drop as many assets as you want in the New Asset window:Assets Browsing
- "New Asset" button:
- Choose among appropriate document types with different metadata
- Import with D&D
- Also in "List" view
- New "Items/Page" dropdown
- New "Refresh" button
- New "Select all" button
- New "Copy" button
- New "Add to worklist" button
Asset View
- New toolbar, with the following buttons:
- Like
- Lock
- Permanent link
- Follow
- Preview
- Add to worklist
- Go to DM view
- New "Tags" feature
- Multiple tags
- Click on a tag to display the list of assets using it
- New "Creator/LifeCycle/Version" display
- New count of people who liked the document
- Smart "Comments" group: Displayed only if there is at least one comment
- Access to workflow actions directly from the DAM UI
Bulk Tagging
In the bulk edit form, you can now add tags to the selected list of documents.
Asset Creation
When creating a new asset or bulk importing assets, you can choose the location where to import them. Only the folders where the user has the create permission are selectable.
Assets View
The view or edit layouts configured on the Document types (the ones you can configure on your own document type on Studio for instance) are displayed in the Metadata section.
Single Asset View
Improve the single asset view of an asset (new layout accessible through the permalink).
Misc Improvements
Now you can use the HTML5 DnD on the Bulk import form.
If your import fails for some reason (for instance, if you forgot to fill a required field), you get an appropriate error message and you don't have to select DnD files to import again.
Workflow
A main workflow tab can be enabled to list running workflow tasks. This way you can select several tasks, and hence do bulk validation.
Content routing prefetch has been made more efficient, which improves performances.
Redirect user when she has no more rights to read the document after changing the state of the workflow.
Filter system workflow related documents from search.
Escalation Rules
Escalation rules let you run an operation chain when a condition is true. These conditions are evaluated every 5 minutes by a configurable scheduler. They can be executed one time (default behaviour) or multiple times.
Sub-Workflow
We have added a new node called SubWorkflow. As you have already guessed it, it lets you embed sub-workflow into existing one. You can also give them parameters, escalation rules, input and output chains, and transitions, like a regular node.
Exclusive Node
When the workflow engine runs an exclusive node, it evaluates the transitions one by one and stops at the first one evaluated to true.
New Workflow Operations
We've added new operations to cancel a workflow, resume a node, get the opened tasks, and complete a task and also improved the Start Workflow and Set Workflow variable operations.
New Workflow Tab
We have a new workflow tab that lets the user see all his assigned tasks at once and filter them.
Task Reassignement
Workflow tasks can now be reassigned to someone else.
MultiTask Workflow Node
We have introduced a new option that creates a different task per assignee.
Workflow Graph Visualization
The workflow graph can be visualized as it has been created in Studio.
We now have a task resolution screen. It's a dedicated screen to solve one of your task and stay focus on the workflow.
A workflow can be applied on multiple documents.
We added a parallel review workflow:
- First step, choose the participants
- Second step, every participants give their feedback.
- Third step, we present a summary of the 2nd step and the assignee can validate or reject the document.
Mobile
A new application based on Apache Cordova, bringing multi-OS support. It can be used as a framework to build your own mobile application based on Nuxeo. Using Nuxeo Webengine and JQuery Mobile, it proposes the following features: Saved search, browsing, upload and download of documents, integration with native phone API.
CSV Importer
We have a new module allowing import of documents from a CSV file (1). Here's how it works: click on Import a CSV, choose the CSV file, click on import and documents will be created using properties from the CSV (only scalar metadata).
You can specify a folder in Nuxeo.conf where the importer will look for binaries. Just make sure you put their relative path in the CSV.
User Experience
The platform screens have been redesigned and improved. More than eighty issues about the user experience, user interface and styles have been resolved.
Safe Edit: Never loose your Forms
When editing a document, if the user tries to exit a page with unsaved changes then a popup window asks him if he really wants to leave the page (and if so discard the changes) or if he wants to stay on the page.
Where supported (i.e. localstorage available in the browser), a modification in the edited form triggers the autosave mechanism which records the new input values of the form. If the editing is accidentally lost (e.g. system / browser crash, network failure, etc ...), then the next time the user edits the page, the previous modifications will be detected from the local storage and the user will be asked whether to restore them or not.
Bulk Edit in listing
We have enabled Bulk Editing for document listing. It's now easy to show a form in a popup, displaying any layout you want, and that applies to documents you've selected.
Content Thumbnails
Thumbnail can be automatically generated for pdf or image documents using the main file of a document. It's also possible to contribute a thumbnail adapter for a specific document type or Facet. This is useful mainly for files other than pictures.
The generation of these thumbs is asynchronous, thanks to the use of workers. There is also a default placeholder showed when the generation isn't finished, or if Nuxeo could not generate the thumb.
Back Navigation
We've enhanced the back navigation of your browser using HTML5 pushState.
Permlink available for any Asset
Every Asset now has an accessible and sharable permlink for you to share.
Select2 Integration
We have replaced the old selection/suggestion JSF widgets by select2 based widgets. Not only does it look better but it's also easier to customize. You can easily setup a user suggestion widget that filter search query with a group parameter.
We also introduced new suggestion widgets on directories. They support n-level chained vocabularies out of the box.
SessionTimeOut Feedback
Users see a 'session expired' message when their session expires.
Form Submit Shield
This will protect the heavy handed crazy clickers to have errors because they have clicked on the same button fifty times in two seconds. The user will receive a feedback message telling them the request is being processed. It's better for his mouse and the server. You can deactivate it through the nuxeo.jsf.enableDoubleClickShield property in nuxeo.conf.
Tag to Version
When a version of a document is created, the tags on the master document are copied to the new version.
Redesigned Error Page
We have redesigned the legacy error page to have something cleaner, with a user-understandable error message.
Rich Text Widget
When using the rich editor and text, xml or markdown, we've added a Toggle Fullscreen button that displays the editing window in a fancybox. It makes it easier to see what you're doing.
Access Keys
We have added new access key binded to actions. Try maj-h, you'll see the different access keys available. Use ctrl-maj E to go to the Edit tab for example.
New Icons
We have updated all the icons throughout the platform.
Style Update
Tables, forms and layout have been reviewed and simplified. A focus has been added to simplify the fill of inputs and make the document edition smoother.
Search
Use Tags in Searches
You can now add tags in your search form. Whether you're using the advanced search form, any faceted search, a content view query or a query operation. It works because we've added tag suppport to NXQL.
Saved Search Managment Tab
Every saved search is listed on a home tab, a subtab for dam, a subtab for faceted search. You can share those saved searches with other users using the manage/rights tab.
Search Panel
- Search criteria can be saved
- Search layout re-organized for better user friendly interface
- Search is triggered when user clicks "Filter" or "Clear"
- Rename "Keywords" with "Text Search"
- Search by location renamed
- New search by tags
- New search by creation date
- New search by author
- New search by original author
- Search by subjects with a new, better, interface
- Search by coverage with a new, better, interface
Quota
We've made many improvements in the Quota Marketplace package.
Global Quotas Activation, Quotas can be activated in the admin center
Once it's activated, everything statistical are automatically computed.
Administrators can see (in Manage > Quotas > Stats) the following statistics :
- Total volume used (deleted, live, versions) + "/Available space"
- Volume used by deleted files (trash)
- Volume used by archived versions
A graphical representation of those 3 statistics.
A content view with the title "Sub Folders" with the listing of subfolders
- Columns Title, do:Modified, Last Contributor, and Size
- Buttons Delete and Add to cart (to cut/paste)
Return meaningful error message when encountering a Quota error
User Workspace Quota Management Activation
As the Administrator of the system, you can enable Quota on user workspaces (radio button) with a default value (slider). The value is the same for all the user workspaces.
Quota processing now uses its own work queue.
Issues ListBIRT
Marketplace PackageThe BIRT Connector has been aligned on BIRT 4.2.2. It means that you can create your report in BIRT Designer 4.2.2. We also made some significant ergonomy enhancements on the admin center UI and we've added parameter validation when generating a report.
Jenkins Report Module
We have a new module available in the marketplace. It's an integration between Jenkins and Nuxeo that we use internally. It helps us keep track of our CI, see it's evolution and easily send a report of the state of the CI to our developers. Here's an example of the email we receive:Hello devs! Here's a status of our CI main jobs on Jenkins. Current number of failing jobs: 3. Current number of unclaimed jobs: 1. Duty comments: To see the complete report click here. Cheers!
Video
The video.js player has been updated to version 4.2.2. This will enable us to benefit from their new plugin architecture. The first plugin we've integrated shows thumbnails of the video while hovering on the progress bar.
Translations
Some contributions have been integrated to Nuxeo. Thanks to Patrick Turcotte for the French (Canada) translation, to CapGemini Nl for Dutch and to Jordi Mallach for the Catalan translation.
For Developers
Content Automation
You can fetch dirty properties of a modified document to send only modified properties with automation client
JSON Marshalling enhancement. You can send POJO in input or parameters.
We made a lot of progress on the Content Automation API.
It's possible to contribute a chain into another chain -> Composite Automation Chain.
It's possible to add parameters to a chain.
Chains contributed are displayed into the Automation documentation with operations listing, parameters and input/output.
An Automation Client Test Suite in Java (or Java Test Compatibility Kit -> TCK) is provided for helping people understanding how Automation is working remotely. You can read our documentation for the details.
Managing business objects (Plain Old Java Object client side for mapping Nuxeo Document Model Adapter server side) is now available.
The goal is to manipulate business object and avoid direct DocumentModel manipulation on client side:
Trace
You can now enable tracing of Content Automation call. Operation chains and operations calls information are collected and logged during their execution by the Automation Trace feature.
Error management
Automation exception chain can be added to be executed when an error occurs during an Automation execution. After contributing your custom chains, you can declare your exception chains:
New Description Parameter for Operation
When you write a new operation, you can add a description to your declared parameters. This comes in handy for the API documentation and Nuxeo Studio.
Document Oriented REST API
We have a new document oriented API for CRUD operation.
Create
Read
Update
Delete
Domain model object and Automation
You can use Business objects with Automation. They are also binded on the REST API and you just have to use the same semantics than for document resources.
Updating a business object
New Endpoints
Here's the list of endpoints available at the moment:
- Documents (/nuxeo/api/v1/id/{docId}): to do CRUD on documents (including paginated search)
- Users (/nuxeo/api/v1/user/{userId}): to do CRUD on users
- Groups (/nuxeo/api/v1/group/{groupId}): to do CRUD on groups
- Directories (/nuxeo/api/v1/directory/{directoryId}): to do CRUD on directories
- Automation (/nuxeo/api/v1/automation/{Operation id}): to call a "command", i.e. an operation or operation chain deployed on the server
New Adapters
You can also use several adapters for ACLs, blob, business objects, document children, operation, page provider, search etc... An adapter is a URL segment that starts with "@" and that transforms the input resource so as to return another resource. For example, using @blob will return the file of a document (the one store on the property given by the next URL segment), and chaining it to @op will call an operation (that takes in input a blob):
Pluggable Context
Because it is sometimes useful to optimize the number of requests you send to the server, we provide a mechanism to request more information on the answer, simply by specifying the context you want in the request header. You can activate contributor simply by adding the right header on the request. Those contributors can also be activated using action filter.
The document oriented REST API has been moved into a separate package to ease maintenance and upgrades.
We released an AngularJS sample application to showcase the API.
We've added pagination support for user and group endpoints.
We've added support for different version of the API:
Using the version segment is mandatory. The version is used mostly for giving guarantees to the API user that the JSON entities won't change when migrating to newer version of Nuxeo.
CMIS
We've upgraded OpenCMIS to 0.9.0 . This gives us the new CMIS 1.1 browser bindings but we haven't finished implementing all the new features yet.
New operations
Add Message - Seam.AddMessage
Add a feedback message to be displayed. The message will be internationalized. You can specify the severity of the message using INFO, WARN and ERROR, INFO being the default. Message parameters are extracted from the context using the 'AddMessage.messageParams'.
Add entry into multi-valued metadata - AddEntryToMultivaluedProperty
Add value to the field expressed by the xpath parameter. This field must be a multivalued metadata.
Convert to given mime-type - Blob.Convert
Convert the input file to a file of the given mime-type and return the new file.
Create Asset(s) from file(s) - Dam.Import
Create Asset(s) from Blob(s) using the FileManagerService.
Create Proxy Live - CreateProxyLive
This operation will create a proxy that points the given document as input. This is like a symbolic link for File System. The proxy will be created into the destination specified as parameter.
Creates directory entries - Directory.CreateEntries
Creates directory entries. Entries are sent as a JSON array. Returns the created entry ids as a JSON array.
Deletes directory entries - Directory.DeleteEntries
Deletes directory entries. Entry ids to be delete are sent through a JSON array. Returns the deleted entry ids as a JSON array.
Get Live Document - GetLiveDocument
Get the live document even if this is a Proxy or Version Document.
Get Nuxeo Principal - NuxeoPrincipal.Get
Retrieve Nuxeo principal and export it as a DocumentModel. If login parameter is not set, the operation will return information about the current user, otherwise Directory Administration rights are required.
QueryAndFetch - Resultset.PageProvider
Perform a query or a named provider query on the repository. The result is paginated. The result is returned as a RecordSet (QueryAndFetch) rather than as a List of Document. The query result will become the input for the next operation. If no query or provider name is given, a query returning all the documents that the user has access to will be executed.
Raise Seam events - Seam.RaiseEvents
Raise Seam events without parameters. This is a void operation - the input object is returned back as the output
Reads directory entries - Directory.ReadEntries
Reads directory entries. Entry ids to be read are sent as a JSON array. Returns the entries as a JSON array of JSON objects containing all fields.
Remove Entry Of Multivalued Property - RemoveEntryOfMultivaluedProperty
Removes the first entry of the giving value in the multivalued xpath, does nothing if does not exist. If 'is Remove All' is checked, all entry instances in the list will be removed. if not then just the first one found will be removed.
UI Selected documents form list - Seam.GetDocumentsFromSelectionList
Fetch the documents selected in the selection list passed as a parameter. If the list name is empty, the current folder selection list is used.
Updates directory entries
Category: Services
Operation Id: Directory.UpdateEntries
Updates directory entries. Entries to be updated are sent as a JSON array. Returns the updated entry ids as a JSON array of JSON objects containing all fields.
Get a Directory Projection - Directory.Projection
Executes a query using given filter and return only the column *columnName*. The result is assigned to the context variable *variableName*. The filters are specified as key=value pairs separated by a new line. The key used for a filter is the column name of the directory. To specify multi-line values you can use a \\ character followed by a new line.
Example:
By default, the search filters use exact match. You can do a fulltext search on some specific columns using the fulltextFields. it's specified as comma separated columnName, for instance:
Example:
Traces.Get - Traces.Get
Retrieve trace associated to a Chain or an Operation.
Traces.ToggleRecording - Traces.ToggleRecording
Toggle Automation call tracing (you can set the 'enableTrace' parameter if you want to explicitly set the traceEnable value.
Remove Permission - Document.RemovePermission
Remove permissions for a given user on the input document(s). Returns the document(s).
Add Permission - Document.AddPermission
Add Permission on the input document(s). Returns the document(s).
Concatenate PDFs - Blob.ConcatenatePDFs
Given a File document holding a PDF on the file:content property and 2 PDFs on the files:files property, the following operation will provide a PDF that is the result of the merge of all the PDFs, with the content of the one in file:content property first.
Run For Each in new TX - Context.RunOperationOnListInNewTx
Run an operation in a new Transaction for each element from the list defined by the 'list' paramter. The 'list' parameter is pointing to context variable that represent the list which will be iterated. The 'item' parameter represent the name of the context varible which will point to the current element in the list at each iteration. You can use the 'isolate' parameter to specify whether or not the evalution context is the same as the parent context or a copy of it. If the isolate is 'true' then a copy of the current contetx is used and so that modifications in this context will not affect the parent context. Any input is accepted. The input is returned back as output when operation terminate.
CSS 3 Support in Theme Engine
The flute CSS parser has now been replaced by phloc-css, allowing CSS3 to be used in the Theme engine.
UI Style Guide
The Nuxeo UI Style Guide is an online help to design your content, explore all the available CSS classes for the different elements, and to check the list of icons embedded in the platform.
UI Framework
Widget Label properties now accept an EL expression. This allows you to have dynamic labels.
Every richfaces ajax call use a global default ajax event queue. You can of course still specify your own queue. This results in more stable pages.
HTML5 PlaceHolder
You can use the HTML5 placeHolder attribute on inputtext and textarea. It's available as a widget property. You can put text(that will be translated) or an EL.
New drop zone Widget
This widget allows you to execute an operation with the files you've dropped as input.
Widget Actions
One can use automatic JS confirmation popup. If you add a confirmMessage property in the actions, it generates the appropriate js method. It accepts any EL as parameter. Here's an example:
<action id="JenkinsReportSendMail"> <properties> <property name="confirmMessage">label.jenkins.sendMail.confirm</property> <propertyList name="confirmMessageArgs"> <value>#{docSuggestionActions.getDocumentWithId(currentSuperSpace.id) .getPropertyValue('jenkinsreports:report_email')}</value> </propertyList> </properties> </action> messages: label.jenkins.sendMail.confirm=This will send an email to {0}, are you sure that you would like to continue?
You can now include widgets that render actions. This is particularly useful in Nuxeo Studio. This allows us to easily blend different action types like a submit button, an outgoing link and an action that opens a fancybox. You can also merge all of them in any order you want.
We have a better support of form inside fancybox opened by actions. You can submit the associated form without submitting every other form on the page. No need to do nested form anymore.
You can mix any type of action. If one action does not support ajax (like a download), it can be in the same tool bar as an ajax action.
You can associate selected documents of a content view to actions outside the content view. That's how we made bulk edit.
We allow resetting of JSF components state when using ajax. JSF action listener #{jsfResetActions.resetComponents} can be used in actions that need to reset all components in the same JSF naming container.
Action Context
Until now, action filters were using JEXL for resolution instead of the engine used by JSF, and Seam components could be resolved in this context, but using a hack, hence only actions *starting with the seam component name* could be resolved correctly, for instance #{clipboardActions.canCopy}. Others were not resolved correctly, for instance #{!clipboardActions.canCopy}, #{empty clipboardActions.selectedDocuments}, #{clipboardActions.canCopy and clipboardActions.canPaste}, etc...
Now the action context has been changed into an interface, and is responsible for evaluating expressions held by filters (instead of the filter itself) => by implementing this interface, any kind of expression with any kind of variables in context can be resolved using the filters/actions service API. Seam JSF EL are resolved in a native Seam/JSF context.
Action Widget Types
We've made a pluggable action types library. It means that now you can define your own action type and associated rendering. You can use it within new action widget types (like ToolBar actions, Form actions, Tabs actions etc...).
Runtime Service Seam Injection
You can now inject Nuxeo runtime services directly in a Seam bean. Where you use to call Framework.getLocalService(SchemaManager.class) in a method, you can simply inject the service.
Richfaces Update
Nuxeo uses a custom version of Richfaces based on 3.3.1 GA, This custom version of Richfaces is now available on GitHub with all Nuxeo's patches.
New Header
Nuxeos's header has been rewritten using widgets displaying actions. Basically it means you can override each part of the header easily. Like the links, search box etc...
Ajax Tabs
You can Ajaxify any tab you want using the property nuxeo.jsf.useAjaxTabs. It means that when you click on a tab, only its content will be reloaded instead of the whole page. And the URL is updated automatically so you can have permlink with the selected tab, use the back button to go to a previously selected tab. This option can also be chosen when creating a new tab in Nuxeo Studio.
Debugging JavaScript
When you are in dev mode, the JavaScript files are not minified. This is much better when you need to debug JavaScript.
Content Views
On Nuxeo side, filter can be shown unfolded by default, and some content view templates have been redefined to ease the customization.
On Studio side, the "filter unfolded" option is presented for 5.7.2, and events as well as the page provider class and properties can now be configured also.
CORS support
If you do cross-domain requests from any JavaScript client to access WebEngine resources or Automation APIs, there's a chance that your browser forbids it. CORS allows you to communicate with Nuxeo from another domain using XMLHttpRequests.
We've added a new extension point based on Vladimir Dzhuvinov's universal CORS filter, which allows you to configure on which URL cross-origin headers are needed.
Scan Importer
The scan importer has been improved. You can choose if you want to create the import document container each time you launch an import. You can also choose to update an existing document instead of creating a new one.
Login Page
The login page can now be configured via an extension point, making it easier to upgrade when the login page is customized, and benefit from new features, like OpenID authentication provided by Nelson Silva.
Here is a sample configuration for the login page:
Long Running Listener
You can now extend a new abstract class called AbstractLongRunningListener. Its purpose is to help building an Asynchronous listeners that will handle a long running process.
By default, PostCommitEventListener is executed in a Worker that will take care of starting/comitting the transaction.
If the listener requires a long processing, this will create long transactions which should be avoided. To avoid this behavior, this base class split the processing in 3 steps:
- Pre processing: transactional first step
- Long running: long running processing that should not require transactional resources
- Post processing: transactional final step
To manage sharing between the 3 steps, a simple Map is provided.
Move To Tomcat 7
Tomcat has been upgraded to version 7.0.42. The main improvement is the upgrade to the Servlet 3.0 API. Take a look at the details.
Nuxeo Visible Content Store (VCS)
Enhancements
Single datasource mode, removes the extra cost of XA transactions when all datasources points to the same database (which is the most common setup). It simplifies configuration and enhances performance.
Soft delete, more efficient deletion using delayed batching.
Optimized id generation, using database-native sequences (PostgreSQL, SQL Server) or UUIDs (PostgreSQL). This improves performance and database size.
Flag to disable proxies, if you don't use proxies, then this removes the extra work at the SQL level and improves performance.
Allow attaching schemas to proxies
Database Support
Microsoft SQL Server 2012 support, including Azure.
PostgreSQL 9.2 support for cluster mode (non-clustered mode already worked in Nuxeo 5.6).
IBM DB2 9.5 preliminary support (non-optimized, therefore only for small databases).
Misc
Various performance enhancements for PostgreSQL, Oracle and SQL Server
Added "NotFulltextIndexable" facet to avoid indexing documents with this facet.
Allow clustering for Oracle on Amazon RDS.
Optimize complex list property update (use UPDATE instead of DELETE + INSERT).
Support Microsoft's JDBC driver for SQL Server.
Redis
Several components in Nuxeo will make use of Redis as an optional feature. To configure Redis, the following extension point can be used:
Redis Service
To use the Redis service, do:
This service currently provides two methods:
Standard usage pattern is:
Redis WorkManager
We added a Redis based WorkManager. This is helpful for:
- High-Activity work queueing, to avoid saturating memory or blocking,
- Queue persistence, to avoid lost jobs on shutdown,
- New feature: node-aware job execution.
PDF Signing
Now you can apply more than one signature to a PDF and configure the position of the signatures following a predefined matrix. Here's a sample contribution:
Mockito Integration
We've added Mockito support to our test framework. Here's an example:
Localization
Crowdin
Nuxeo has an account on Crowdin. It makes it easier for everyone to help translate Nuxeo in different languages. You can read this blog for more information.
Dutch Translation
Our partner Capgemini Netherlands has contributed the Dutch translation for Nuxeo.
Miscellaneous
Simple Computed Group
The idea is to simplify computed groups management by a simple contribution. Here are two examples. The first one will create a virtual group grade_companyValue where companyValue is the company value for the user. The second one will create a creator_documentId for each document where the user is the creator.
ScanImporter Enhancement
We're still improving the scan importer. One of the latest enhancement is the support of MVEL in the XML mapping code. This will allow you to setup some business logic during import without writing cutom Java code. Here's an example:
With the following xml fragment:Will be equivalent to the following code snippet:
NXQL
See the NXQL Documentation for the current state of NXQL.
ecm:isCheckedIn: 1 if the document is checked in and 0 if not (the opposite of DocumentModel.isCheckedOut()). This can only be compared to 1 or 0.
ecm:isVersion or ecm:isCheckedInVersion: 1 for versions and 0 for non-version (DocumentModel.isVersion()). This can only be compared to 1 or 0. (The name ecm:isVersion is available since Nuxeo 5.7.3)
ecm:versionVersionableId: the id of the versionable document of a version (the versionable document is the one from which the version was created).
ecm:isLatestVersion: 1 if this is the latest version of a document, 0 if not. This can only be compared to 1 or 0.
ecm:isLatestMajorVersion: 1 if this is the latest major version of a document, 0 if not. This can only be compared to 1 or 0.
ecm:tag: allows NXQL queries on a document's tags.
ecm:proxyTargetId: allows NXQL queries on the id of the target of a proxy.
ecm:proxyVersionableId: allows NXQL queries on the id of the versionable document of a proxy (the versionable document is the one from which the version to which the proxy is pointing was created).
For Administrators
Monitoring
Use Coda Hale Yammer Metrics to instrument Nuxeo, providing lots of internal metrics, accessible from JMX or Graphite. Read more in our documentation.
Multi-Tabs Navigation
Nuxeo now handles multiple-tabs navigation without having a "cannot restore view" error. A new StateManager has been introduced in order to store ViewStates per conversation. In other words, when a user navigates to a new tab, a new conversation is started and its view states are saved separately. If the user comes back to an old tab, he will not have "view expired" exceptions anymore.
- By default, 4 conversation states are saved following a LRU policy (Least Recently Used).
- Each conversation state still has max 4 saved view states.
- This means that potentially, a maximum of 16 view states are saved in session.
You can adapt these settings using the apropriate parameters in nuxeo.conf.
Right Audit
This Marketplace package allows to run an audit on all permissions for all users of a document tree. The result is an XLS matrix for every exported document showing permission for each user, including blocking permissions if any.
You can also do an excel export of all the users and groups.
Kerberos Login Module
A Kerberos module has been contributed by OpenWide, allowing authentication throught the Kerberos protocol.
You can also login to Nuxeo using your OpenID, thanks to Nelson Silva.
MarketPlace/Update Center
nuxectl commands
mp-show: Show Marketplace package(s) information. You must provide the package file(s), name(s) or ID(s) as parameter.
Blogs and Websites Packaging
Blogs and Website have been removed from the DM module and are now independant packages.
Database Support
We have updated the MS SQL Server documentation with new recommendations.
PostgreSQL 9.2-1002 JDBC4 driver supports simple connection fail-over useful for high-availability configurations.
PostgreSQL 9.3 is officialy supported.
Nuxeo.conf New Parameters
| Parameter | Default Value | Description |
|---|---|---|
| nuxeo.jsf.numberOfConversationsInSession | 4 | Since 5.7.2, Parameter to control the number of conversation states that are saved in session. Each conversation holds a number of view states that is defined by nuxeo.jsf.numberOfViewsInSession |
| nuxeo.jsf.numberOfViewsInSession | 4 | Since 5.7.2 (5.6-HF20) Parameter to control the JSF init parameter com.sun.faces.numberOfViewsInSession |
| nuxeo.jsf.numberOfLogicalViews | 4 | Since 5.7.2 (5.6-HF20) Parameter to control the JSF init parameter com.sun.faces.numberOfLogicalViews |
| nuxeo.notification.eMailSigner | The Nuxeo team | Signer of the sent e-mail. |
| org.nuxeo.automation.trace | false | Since Nuxeo 5.7.3, you can enable this mode if you'd like to display automation traces during runtime:
|
| org.nuxeo.automation.trace.printable | * | Since Nuxeo 5.7.3, by default, all automation executions are 'printable' (appear in logs) when automation trace mode is on.
|
| nuxeo.jsf.enableDoubleClickShield | false (unset) | Enable a shield on forms to prevent users from submitting twice the same form (accidental double-click) |
| org.nuxeo.dnd.upload.timeout | 30000 | Maximum time for uploading a file via Drag & Drop to the server. |
| org.nuxeo.dnd.exec.timeout | 30000 | Maximum time for executing import of files uploaded via Drag & Drop |
| org.nuxeo.dnd.extendedmode.timeout | 2000 | Mouseover time to switch to extended mode UI (setting to -1 disables the extended mode) |
| nuxeo.jsf.useAjaxTabs | false (unset) | Enable ajaxified tabs on document views. |
| org.nuxeo.prod | false | Setting this property to "true" will display a quite visible warning message in the Admin Center, stating that this is a production instance. This is useful for administrators who are sometimes confusing their Nuxeo production server with their test server (not to rat anyone out). |
| nuxeo.vcs.blocking-timeout-millis | 1O0 | Database maximum wait time to get a connection from the pool when all connections are in use, for Nuxeo repository (VCS). |
| nuxeo.vcs.idle-timeout-minutes | 10 | Database timeout after which connections not in use are removed from the pool, for Nuxeo repository (VCS). |
| nuxeo.vcs.fulltext.disabled | false | |
| nuxeo.vcs.noddl | false | |
| nuxeo.vcs.idtype | varchar |


| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Documentation
[..]
- Matches any of the enclosed characters. Ranges of characters can
be specified by separating the endpoints with a
'-'
.'-'
or']'
can be matched by including them as the first character(s) in the list. Never matches path separators:[/]
matches nothing at all. Named character classes can also be matched:[:x:]
within[]
specifies the class namedx
, which matches certain predefined characters. See below for a full list. [^..]
or[!..]
- Like
[..]
, but matches any character not listed. Note that[^-x]
is not the inverse of[-x]
, but the range[^-x]
. <m-n>
- Matches any integer in the range m to n, inclusive. The range may
be open-ended by leaving out either number:
"<->"
, for instance, matches any integer. **/
- Matches any number of characters, including path separators, excluding the empty string.
Supported character classes:
[:alnum:]
- Equivalent to
"0-9A-Za-z"
. [:alpha:]
- Equivalent to
"A-Za-z"
. [:blank:]
- Equivalent to
"\t "
. [:cntrl:]
- Equivalent to
"\0-\x1f\x7f"
. [:digit:]
- Equivalent to
"0-9"
. [:graph:]
- Equivalent to
"!-~"
. [:lower:]
- Equivalent to
"a-z"
. [:print:]
- Equivalent to
" -~"
. [:punct:]
- Equivalent to
"!-/:-@[-`{-~"
. [:space:]
- Equivalent to
"\t-\r "
. [:upper:]
- Equivalent to
"A-Z"
. [:xdigit:]
- Equivalent to
"0-9A-Fa-f"
.


New users should select the 2.5 release. The 2.1 release is provided only for those upgrading from 2.1 and wish to return to 2.1.
If you perform live and have been using 1.45 release, we recommend you do not upgrade unless you have the time to test with the new version. See the release notes in the 2.0 documentation for more information about what has changed.
If you have been using release 1.42 or earlier, there were many changes between 1.42 and 1.45, and many more from 1.45 to 2.0.
Always make a backup of the mobius.xml and ui.xml files before performing an upgrade
If you perform live and have been using 1.45 release, we recommend you do not upgrade unless you have the time to test with the new version. See the release notes in the 2.0 documentation for more information about what has changed.
If you have been using release 1.42 or earlier, there were many changes between 1.42 and 1.45, and many more from 1.45 to 2.0.
Always make a backup of the mobius.xml and ui.xml files before performing an upgrade
Requires Windows XP or higher, 32 or 64 bit
Requires OS X 10.5 or higher, Intel Only, 32 or 64 bit
Requires Windows XP or higher, 32 or 64 bit
Requires OS X 10.5 or higher, Intel Only, 32 or 64 bit
Requries Windows XP or higher
Requires OS X 10.5 or higher, Intel Only
Requires Windows XP or higher
Requires OS X 10.4 or higher, supports both Intel and PPC


Welcome to the first post of the dingh blog. The purpose of starting this blog is to document and share some of my projects.
As recently I came across a wonderful paper written by Brian G. Peterson. The article emphasizes the importance of the précis document and systematically evaluation in the process of replicating the research of others. These are the missing pieces in my own work.
I have been working on some visualization and modeling projects. However I never spent time to document these works, which leads to a lot of waste of efforts. Hopefully by starting this blog can help me to articulate my ideas.
Any constructive criticism is welcome.
Thanks


Remote Mute button
The ask:
allow a very young kid to control the laptop's microphone mute/unmute status without adult supervision
visual feedback of the mute status is required
very simple to use
no batteries
This solution:
use a ESP32 module, flashed with NodeMCU
a button connected to a GPIO input (pull up, GPIO12), and GND
a LED connected to a GPIO output (GPIO13), and GND
a java piece of code running on the machine to be controlled
WIFI connectivity is required and the target machine must be on the same network
The how:
at startup, ESP32, connect to WIFI, joins a multicast group and publishes a initial 'query' message
the java code is running in background on the controlled machine, joins the same multicast group and responds with a 'state' message indicating the volume level
the ESP receives the response and turns on/off the connected LED.
pressing the button triggers the ESP to send a 'toggle' message, expecting a 'state' response that will also turn on/off the connected LED.
Java code:
configuration is set in app.properties that needs to be on the classpath when running the app.
mcastPort/mcastAddress identifies the muticast group. These values must match the ESP32's configuration
pairedNodeID property is not mandatory, the code will only respond to the first device that comunicates with after startup. If set, this should be the the NodeMCU's chip id
useSystemValue property if set to true, the max microphone level is set by the user using the OS controls. If false, then the max microphone level is set to the value configured by 'maxInputValue' integer property
setCommand is (at this time) the OS command to set the microphone volume to a specific value, integer
getStateCommand - os command to retrieve the current microphone value. The output of this command should be a single line, integer value between 0 and 100, inclusive.
ESP32 code:
Configuration is set in wifi.conf file. At startup,if this file is missing, the device will enter the configuration mode, exposing a access point. Additionally, configuration mode can be entered by touching pad 3 during startup.
In configuration mode, a web interface will allow you to configure the primary(secondary) wifi network, multicast group info. During this phase, all avaliable access points are listed.
after the configuration is complete and WIFI network is joined, the ESP32 will join the multicast group and send a 'query' message indicating the chip id in the nodeDd field
the reply will cause the LED status to be updated accordingly
pressing the button will cause the ESP32 to send a 'toggle' message, to be followed by a reply
When no reply to a request is received, the LED will blink 5times/sec indicating a connectivity issue
the GPIOs, timeouts and various parameters are set in init.lua
The case:
The STL and PLA GCODE for Creality Ender 3 is in the Case folder


WITNESS LIST Jurisprudence Committee May 3, 2006 -10:00A Interim Charge #4 ON: Allison, Jim General Counsel (County Judges and Commissioners Association of Texas), Austin, TX Cowherd, Mary Deputy Director for Research and Court Services (Office of Cout Administration), Austin, TX Hamlin, Marc Brazos County District Clerk (Brazos County), Bryan, TX Lehman, Jim Collections Program Manager (Office of Court Administration), Austin, TX Marton, Janet Senior Assistant County Attorney (Harris County), Houston, TX Mayes, Michael District Judge (410th District Court), Conroe, TX Nellis, Leroy Budget Manager (Travis County), Austin, TX Reynolds, Carl Director (Office of Court Administration), Austin, TX Walker, David County Attorney (Montgomery County), Conroe, TX Yenne, Jeri District Attorney (Brazoria County), Angleton, TX Interim Charge #6 ON: Clepper, Denise Executive Director of It Takes Two (Single Parents of Texas), Austin, TX Conley, Douglas Member (People for Equal Parenting), Austin, TX Fabac, Karen (Self), Cedar Park, TX Getting, Roy (Texas Fathers Alliance), Irving, TX Key, Alicia Director - Child Support Division (Office of the Attorney General), Austin, TX Phillips, B. Alan Member, Board of Directors (People for Equal Parenting), Austin, TX Simon, Daniel Father of three/Owner of small Roofing Company (Self), Cedar Park, TX Interim Charge #4 Registering, but not testifying: On: Gatlin, Travis Senior Budget Analyst (Travis County), Austin, TX Selden, Deborah Staff Attorney (Harris County District Courts), Houston, TX Whitten, J.C. Executive Manager Administrative Services (Fort Bend County), Rosenberg, TX


elixir_exercises v0.0.1
Modules summary ↑
| ElixirExercises | |
| ElixirExercises.Supervisor | |
| Ex1 | In this exercise we will learn some of the fundamentals of Elixir, including pattern matching and recursion |
| Ex2 | In this exercise we will learn some how to build and use basic functional constructs such as map and reduce |
| Ex3 | Coming Soon |
| Ex4 | In this exercise you will be required to work with Elixir Macros, Structs, and Protocols |
| Ex4.Company | |
| Support |


About me
personal details
Here, I focus on a range of items and features that we use in life without giving them a second thought. such as Coca Cola. Dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco.
View full details
My Offered Services
Feedback CONTENT


@(user: User) @email.template {
Hi @user.displayName,
Thank you for registering at @OJController.getSiteName.
For security reasons, we need to verify your email address. Please confirm your ownership of this email account (@user.email) by clicking the link below, or open it in a new browser page.
Please note that you must verify your email address within 24 hours, otherwise you need to create a new account again.
If you did not create any account at @OJController.getSiteName with this email address, please ignore this email. Or you could report to us for the spam.
Happy coding!
The @OJController.getSiteName Team
}


We're sorry but frontend doesn't work properly without JavaScript enabled. Please enable it to continue.


Book Keeper
Keep track of what you read.
{{user}}
|
logout
Add or Edit a Book
Title:
Author:
Currently Reading
Read Next
Finished Reading
Update Database
…
What I'm currently reading
What I want to read next
What I've already read