Overview
Integration Server Continuous Code Review (ISCCR) has been developed by Software AG Global Consulting Services, and is provided through subscription license as a PERFORMANCE.READY tool. It's aim is to provide quality check processing for Integration Server developments, both as part of a continuous integration and local development approach with Integration Server. It checks and enables a development team to improve quality of your Integration Server services thereby assisting with readability, quality, standardizaton and ultimately minimising cost of change and reduces the maintenance burden.
This tool has a large number of customisable review points covering:
- Quality issues
- Common Mistakes
- Coding standards
- Deprecated services
plus many other service properties and coding issues.
Compatibility
Integration Server Continuous Code review is tested and compatible with the following releases of Integration Server:
- webMethods v10.1
- webMethods v10.0
- webMethods v9.12
- webMethods v9.10
- webMethods v9.9
- webMethods v9.8
- webMethods v9.7
- webMethods v9.6
- webMethods v9.5
- webMethods v9.0
- webMethods v8.2
Installation
Code Review Engine
Zip File Extraction
The ISCCR execution engine is distributed as a zip file and can simply be extracted into a location of your choosing (e.g. C:\SoftwareAG\tools\CodeReview within the file system. The file system within the zip file must be maintained whilst extracting, and will create a file structure similar to:
License File
Following extraction, before execution you’ll need to copy the code review engine licence file, renaming to license.txt into this directory, e.g.
Editing CodeReview.cmd
If you intend to use the sample windows script provided, and in particular if you’re running the code review from within a Continuous Integration tool such as Jenkins, this file will need modifying to including the full path to the location where the tool has been extracted, e.g. assuming you extract the file to:
c:\SoftwareAG\tools\ISCCR
You'll need to modify the CodeReview.cmd updating the CODEREVIEW_HOME environment variable, replacing the . with the full path to the installation directory i.e, find and replace the command
SET CODE_REVIEW_HOME=.
and change the '.' to your installation directory, e.g.
SET CODE_REVIEW_HOME=c:\SoftwareAG\tools\ISCCR
Setting JAVA_HOME
It's also recommended to set the JAVA_HOME environment variable. The code review tool in windows will attempt to discover a suitable JVM to execute, however this should ideally be set teo the one distributed within webmethods, e.g.
Eclipse Plugin
The eclipse plugin is distributed as a zip file that can de installed into your Software AG designer eclipse environment as follows:
- Stop any instances of Designer that are currently running
- Browse to the designer eclipse dropins folder within the Software AG installation,
e.g.
c:\SoftwareAG\Designer\eclipse\dropins
- Remove any previous ISCCR directory from the dropins location
- Create a directory in the dropins location named:
ISCCR
- Unzip the eclipse plugin into the ISCCR directory
This should create a file system structure as follows
C:\SoftwareAG\Designer\eclipse\dropins\ISCCRv4\plugins\ContinuousCodeReview_Plugin_x.x.x.x.jar
- Start Designer
- After a few minutes designer will start with the plugin installed
Warning
Please be patient – the installation will take a few minutes and designer may look like the process has hung.
Do NOT kill the designer process otherwise the installation will fail and further installations will be blocked without creating a different base directory (not called ISCCR) within the dropins location.*
- On startup, enter the window/preferences settings as required, e.g:
- Configure by pointing to the installation of the code review engine, and to the packages root folder within the designer where the plugin is installed
- Additionally, add the prefixes of custom packages that you wish to be reviewed and any JVM Parameters. When finished press ok
WxISCCR Package
Note
This pacakge only exists to support the older Centralized (Non-Local Development) approach, and is otherwise not needed
The WxISCCR package is provided as a zip, that can be imported into the Integration Server as any other package, through the install inbound pacakges functionality.
Quick Start
Windows Command Line Execution
Single Package Review
After following the installation notes above, ISCCR can be run in windows to review single packages using the supplied command script by opening a command prompt, navigating to the extracted directory and supplying individual package details.
The format of the command prompt is as follows:
CodeReview.cmd
-Dcode.review.directory=[LOCATION OF PACKAGES DIRECTORY]
-Dcode.review.pkgname=[PACKAGE NAME]
-Dcode.review.pkgprefix=[PACKAGE PREFIX LETTERS]
Example
Assuming a package named IotDemo
CodeReview.cmd -Dcode.review.directory=c:\softwareag\IntegrationServer\instances\default\packages -Dcode.review.pkgname=IotDemo -Dcode.review.pkgprefix=Iot
The output of this command for a ‘Passed test’ with ‘INFO’ level debug will be similar to:
CodeReview.cmd -Dcode.review.directory=c:\SoftwareAG\IntegrationServer\instances\default\packages -Dcode.review.pkgname=IotDemo -Dcode.review.pkgprefix=Iot
Looking for JREv1.8
C:\Program Files\Java\jre1.8.0_51
Found Compatible JVM at: C:\Program Files\Java\jre1.8.0_51
Starting Continuous Code Review Using discovered JVM
2015-10-18 21:59:28 INFO webMethods Integration Server Continuous Code Review
2015-10-18 21:59:28 INFO Software AG Global Consulting Services
2015-10-18 21:59:28 INFO Copyright (C)2015 Software AG. All rights reserved
2015-10-18 21:59:28 INFO Author<EMAIL_ADDRESS>2015-10-18 21:59:28 INFO Version : _VERSION_
2015-10-18 21:59:28 INFO Build : _BUILD_
2015-10-18 21:59:28 INFO Run Mode: INTERACTIVE
2015-10-18 21:59:28 INFO -------------------------------------------------------------------------
2015-10-18 21:59:28 INFO Exec Directory [C:/Development/workspace/FlowCodeChecker/build/dist/lib/GCS_ContinuousCodeReview-Pub.jar]
2015-10-18 21:59:28 INFO Loading Default Configuration Options File
2015-10-18 21:59:28 INFO Options File [*******************/config.xml]
2015-10-18 21:59:29 INFO Custom Options [c:\SoftwareAG\IntegrationServer\instances\default\packages\IotDemo\config\codereview.xml] exists within package - Loading and merging with settings]
2015-10-18 21:59:29 INFO Custom Options [c:\SoftwareAG\IntegrationServer\instances\default\packages\IotDemo\config\codereview.xml] provided. Loading and merging with defaults
2015-10-18 21:59:29 INFO Code Directory [c:\SoftwareAG\IntegrationServer\instances\default\packages\IotDemo\]
2015-10-18 21:59:29 INFO Report Directory []
2015-10-18 21:59:29 INFO Package Name [IotDemo]
2015-10-18 21:59:29 INFO ------------------------ LICENCE DETAILS ------------------------
2015-10-18 21:59:29 INFO Using License file : **************\license.txt
2015-10-18 21:59:29 INFO Licensed to : ***********************************
2015-10-18 21:59:29 INFO Serial Number: : ***********************************
2015-10-18 21:59:29 INFO License Comments : ***********************************
2015-10-18 21:59:29 INFO Licence Checked and is valid
2015-10-18 21:59:30 INFO EXECUTING OPERATIONS
2015-10-18 21:59:30 INFO -----------------------------------------------------------
2015-10-18 21:59:30 INFO Rule Id [SP1]
2015-10-18 21:59:30 INFO Rule Index [1]
2015-10-18 21:59:30 INFO Name [Stateless]
2015-10-18 21:59:30 INFO Description [Services should be stateless to avoid creating session state where not needed. Each session consumes resources on the IS, consumes memory, creates a database entry, and in a clustered environment needs
to be synchronized between cluster nodes. To minimize the build-up of unnecessary sessions it is recommended to ensure stateless services are used where possible. This can be changed on the 'stateless' flow property within Designer by setting the value to yes.
The table below highlights all services in the package which are currently configured as stateless]
2015-10-18 21:59:30 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.ServiceProperties]
2015-10-18 21:59:30 INFO Ignore Failure [false]
2015-10-18 21:59:30 INFO -----------------------------------------------------------
2015-10-18 21:59:30 INFO Rule Id [SP2]
2015-10-18 21:59:30 INFO Rule Index [2]
2015-10-18 21:59:30 INFO Name [Pipeline Save Restore]
2015-10-18 21:59:30 INFO Description [No Save/Restore Pipeline options should be set against the service. The Save/Restore pipeline options where set can result in unnecessary IO and therefore gives a reduced service performance as these services need to read or write to the disk and concurrent service execution could be compromised. It is recommended to remote these options from the services before deployment to a non-development environment, or use the extended property (watt.server.pipeline.processor) to disable these in the non-development environments. Where this is the case, this rule can be ignored]
2015-10-18 21:59:30 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.ServiceProperties]
2015-10-18 21:59:30 INFO Ignore Failure [false]
2015-10-18 21:59:30 INFO -----------------------------------------------------------
2015-10-18 21:59:30 INFO Rule Id [FQ1]
2015-10-18 21:59:30 INFO Rule Index [3]
2015-10-18 21:59:30 INFO Name [Pipeline Services]
2015-10-18 21:59:30 INFO Description [No Save/Restore/Trace Pipieline services should exist within the flow service. Save/Restore pipeline services result in unnecessary IO and therefore gives a reduced service performance as these services need to read or write to the disk and concurrent service execution could be compromised. It is recommended to delete these from the services before deployment to a non-development environment to ensure maximum performance. Alternative to this is to use the pipeline service options from within designer and disable these in the non-development environments as described in the previous check.]
2015-10-18 21:59:30 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.FlowXMLXpathChecker]
2015-10-18 21:59:30 INFO Ignore Failure [false]
2015-10-18 21:59:30 INFO -----------------------------------------------------------
2015-10-18 21:59:30 INFO Rule Id [FQ2]
2015-10-18 21:59:30 INFO Rule Index [4]
2015-10-18 21:59:30 INFO Name [Clear Pipeline]
2015-10-18 21:59:30 INFO Description [The ClearPipeline service should not be used as pipeline variables should be dropped immediately as soon as they are no longer required. ClearPipeline leads to unnecessary overhead at the pipeline is walked to determine whether to preserve or drop variables, and can have significant impact on performance when a large pipeline is present. It is recommended to delete these services from the flow and drop variables once they are no longer needed.]
2015-10-18 21:59:30 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.FlowXMLXpathChecker]
2015-10-18 21:59:30 INFO Ignore Failure [false]
2015-10-18 21:59:30 INFO -----------------------------------------------------------
2015-10-18 21:59:30 INFO Rule Id [FQ3]
2015-10-18 21:59:30 INFO Rule Index [5]
2015-10-18 21:59:30 INFO Name [Deprecated Services]
2015-10-18 21:59:30 INFO Description [Use of deprecated services is not recommended as these will be dropped from the product in a future release. Please refer to the built-in-services-guide for replacements to any deprecated services discovered to be in use and modify the flow to remove the deprecated service and update with the recommended alternative.]
2015-10-18 21:59:30 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.FlowXMLXpathChecker]
2015-10-18 21:59:30 INFO Ignore Failure [false]
2015-10-18 21:59:32 INFO -----------------------------------------------------------
2015-10-18 21:59:32 INFO Rule Id [FQ4]
2015-10-18 21:59:32 INFO Rule Index [6]
2015-10-18 21:59:32 INFO Name [Disabled Services]
2015-10-18 21:59:32 INFO Description [services should be removed to avoid performance issues as the flow is interpreted during execution. This also results in smaller, more maintainable flow services which result in a better understanding and lower cost of maintenance. Recommendation is to delete rather than disable any code no longer needed.]
2015-10-18 21:59:32 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.FlowXMLXpathChecker]
2015-10-18 21:59:32 INFO Ignore Failure [false]
2015-10-18 21:59:32 INFO -----------------------------------------------------------
2015-10-18 21:59:32 INFO Rule Id [FQ5]
2015-10-18 21:59:32 INFO Rule Index [7]
2015-10-18 21:59:32 INFO Name [Use of Pub.Storage]
2015-10-18 21:59:32 INFO Description [pub.storage services should not be used due to performance issues. The pub.storage services have an implicit locking model and are not intended to be a high performance all-purpose database. Where pub.storage services have been used, it is recommended to re-architect these, particularly in high-throughput scenarios.]
2015-10-18 21:59:32 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.FlowXMLXpathChecker]
2015-10-18 21:59:32 INFO Ignore Failure [false]
2015-10-18 21:59:32 INFO -----------------------------------------------------------
2015-10-18 21:59:32 INFO Rule Id [FQ6]
2015-10-18 21:59:32 INFO Rule Index [8]
2015-10-18 21:59:32 INFO Name [Debug Log]
2015-10-18 21:59:32 INFO Description [Debug Log services should be removed to avoid performance issues during execution. Where logging is required, the recommendation is to implement a more general purpose and configurable logging framework to help keep you logs more manageable and separate from product logging]
2015-10-18 21:59:32 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.FlowXMLXpathChecker]
2015-10-18 21:59:32 INFO Ignore Failure [false]
2015-10-18 21:59:32 INFO -----------------------------------------------------------
2015-10-18 21:59:32 INFO Rule Id [FQ7]
2015-10-18 21:59:32 INFO Rule Index [9]
2015-10-18 21:59:32 INFO Name [Public Services Try/Catch]
2015-10-18 21:59:32 INFO Description [Public services must have a try catch within them to ensure graceful handling of error conditions when these occur. Public services (or top level services) need to decide how to retry or return the error condition to the consuming application. Recommendation is to use Sequence nodes to wrap the execution of the public service within a try/catch block and use the catch to handle the error condition. Try/catch can be achieved with sequence nodes by having a top level sequence with the exit on value set to "SUCCESS" and 2 inner sequences, the try, with the exit on value set to "FAILURE" and the catch, with the exit on value set to "DONE". It is also recommended to add comments to these sequences to aid understanding so that a developer can identify these are for try/catch usage. ]
2015-10-18 21:59:32 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.FilteredFlowXMLXpathChecker]
2015-10-18 21:59:32 INFO Ignore Failure [false]
2015-10-18 21:59:32 INFO -----------------------------------------------------------
2015-10-18 21:59:32 INFO Rule Id [FQ8]
2015-10-18 21:59:32 INFO Rule Index [10]
2015-10-18 21:59:32 INFO Name [Connections Package]
2015-10-18 21:59:32 INFO Description [All JDBC Adapter connections should be in separate packages, that is a package should not contain connections mixed in with other assets. This aids deployment of services as this means changes to packages can be deployed without unnecessarily affecting the JDBC Adapter database connections. Recommendation is to have adapter connections in packages on their own, and not mix these types.]
2015-10-18 21:59:32 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.ConnectionsChecker]
2015-10-18 21:59:32 INFO Ignore Failure [false]
2015-10-18 21:59:32 INFO -----------------------------------------------------------
2015-10-18 21:59:32 INFO Rule Id [FQ9]
2015-10-18 21:59:32 INFO Rule Index [11]
2015-10-18 21:59:32 INFO Name [FTP Timeout]
2015-10-18 21:59:32 INFO Description [Ensure timeout is specified on FTP services. If no timeout is specified on FTP services, the default timeout value is unlimited, meaning there is a possibility of consuming threads on the Integration Server for a long period of time, especially in the scenario where the FTP server isn't available. Recommendation is to add a timeout value to the invocation where these services are used.]
2015-10-18 21:59:32 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.FlowXMLXpathChecker]
2015-10-18 21:59:32 INFO Ignore Failure [false]
2015-10-18 21:59:32 INFO -----------------------------------------------------------
2015-10-18 21:59:32 INFO Rule Id [FQ10]
2015-10-18 21:59:32 INFO Rule Index [12]
2015-10-18 21:59:32 INFO Name [Service invoke comments]
2015-10-18 21:59:32 INFO Description [Comments should be provided for each service that is invoked from the main service. This helps to improve code readability and maintainability to help reduce cost of change. Every service invoke should have a comment value set.]
2015-10-18 21:59:32 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.FlowXMLXpathChecker]
2015-10-18 21:59:32 INFO Ignore Failure [true]
2015-10-18 21:59:32 INFO -----------------------------------------------------------
2015-10-18 21:59:32 INFO Rule Id [FQ11]
2015-10-18 21:59:32 INFO Rule Index [13]
2015-10-18 21:59:32 INFO Name [Sequence comments]
2015-10-18 21:59:32 INFO Description [Comments should be provided for each sequence node that is used. This helps to improve code readability and maintainability to help reduce cost of change. Every sequence node should have a comment value set.]
2015-10-18 21:59:32 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.FlowXMLXpathChecker]
2015-10-18 21:59:32 INFO Ignore Failure [true]
2015-10-18 21:59:32 INFO -----------------------------------------------------------
2015-10-18 21:59:32 INFO Rule Id [FQ12]
2015-10-18 21:59:32 INFO Rule Index [14]
2015-10-18 21:59:32 INFO Name [Unauthorised Access/Orphaned]
2015-10-18 21:59:32 INFO Description [All services within this package should be invoked through a public service. This rule Identifies any assets within the package that are not used directly or indirectly from a public flow service or DSP file contained within this package, and therefore are either not used, or are called from outside the package breaking the public/private access principle.]
2015-10-18 21:59:32 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.OrphanedChecker]
2015-10-18 21:59:32 INFO Ignore Failure [true]
2015-10-18 21:59:33 INFO -----------------------------------------------------------
2015-10-18 21:59:33 INFO Rule Id [FQ13]
2015-10-18 21:59:33 INFO Rule Index [15]
2015-10-18 21:59:33 INFO Name [Branch without switch or evaluate labels]
2015-10-18 21:59:33 INFO Description [The BRANCH step selects and executes a child step based on the value of one or more variables in the pipeline. You indicate the variables you want to branch on by specifying a switch value or by writing an expression that includes the variables, therefore a branch must have either a switch value or have evaluate labels set to true.]
2015-10-18 21:59:33 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.FlowXMLXpathChecker]
2015-10-18 21:59:33 INFO Ignore Failure [false]
2015-10-18 21:59:33 INFO -----------------------------------------------------------
2015-10-18 21:59:33 INFO Rule Id [FQ14]
2015-10-18 21:59:33 INFO Rule Index [16]
2015-10-18 21:59:33 INFO Name [Branch on expression when child step is without specified label or $null]
2015-10-18 21:59:33 INFO Description [If you branch on expressions (Evaluate labels is set to True), you cannot branch on null or empty values. When executing the BRANCH step and evaluating labels, Integration Server ignores target steps with a blank or set to $null label.]
2015-10-18 21:59:33 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.FlowXMLXpathChecker]
2015-10-18 21:59:33 INFO Ignore Failure [false]
2015-10-18 21:59:33 INFO -----------------------------------------------------------
2015-10-18 21:59:33 INFO Rule Id [FQ15]
2015-10-18 21:59:33 INFO Rule Index [17]
2015-10-18 21:59:33 INFO Name [Exit Node From Specification]
2015-10-18 21:59:33 INFO Description [The EXIT step exits the entire flow service or a single flow step. Specifically, it may exit from the nearest ancestor loop step, a specified ancestor step, the parent step, or the entire flow service. An exit 'From' value is required to determine where to exit from]
2015-10-18 21:59:33 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.FlowXMLXpathChecker]
2015-10-18 21:59:33 INFO Ignore Failure [false]
2015-10-18 21:59:33 INFO -----------------------------------------------------------
2015-10-18 21:59:33 INFO Rule Id [NS1]
2015-10-18 21:59:33 INFO Rule Index [18]
2015-10-18 21:59:33 INFO Name [Naming Standards - Root Folder ]
2015-10-18 21:59:33 INFO Description [Root Folder should not be the same as the package as this can cause namespace issues should the code need to be refactored or moved to other packages for promotion to common services, inhibiting reusability. Recommendation is to set a separate prefix folder structure from the package and use this across all packages differentiating below the prefix. This can be one or two levels deep (but ideally should be no more) and commonly is the inverse domain name of the organisation, e.g. "com.softwareag"]
2015-10-18 21:59:33 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.NamingStandards]
2015-10-18 21:59:33 INFO Ignore Failure [false]
2015-10-18 21:59:33 INFO -----------------------------------------------------------
2015-10-18 21:59:33 INFO Rule Id [NS2]
2015-10-18 21:59:33 INFO Rule Index [19]
2015-10-18 21:59:33 INFO Name [Naming Standards - Folder ]
2015-10-18 21:59:33 INFO Description [Folders should only contain lower case ascii characters and digits. In certain scenarios, use of the underscore character '_' is allowed but should be avoided where possible.]
2015-10-18 21:59:33 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.NamingStandards]
2015-10-18 21:59:33 INFO Ignore Failure [false]
2015-10-18 21:59:33 INFO -----------------------------------------------------------
2015-10-18 21:59:33 INFO Rule Id [NS3]
2015-10-18 21:59:33 INFO Rule Index [20]
2015-10-18 21:59:33 INFO Name [Naming Standards - Folder Prefix]
2015-10-18 21:59:33 INFO Description [Ensure that all assets exist within the specified prefix folders. Recommendation is to set a separate prefix folder structure from the package and use this across all packages differentiating below the prefix. This can be one or two levels deep (but ideally should be no more) and commonly is the inverse domain name of the organisation, e.g. "com.softwareag".]
2015-10-18 21:59:33 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.NamingStandards]
2015-10-18 21:59:33 INFO Ignore Failure [false]
2015-10-18 21:59:33 INFO -----------------------------------------------------------
2015-10-18 21:59:33 INFO Rule Id [NS4]
2015-10-18 21:59:33 INFO Rule Index [21]
2015-10-18 21:59:33 INFO Name [Naming Standards - Package]
2015-10-18 21:59:33 INFO Description [Ensure the package prefix has been specified and package name conforms to standards. <br/>1. The package name should not end with the word "Package" or "Pkg". <br/>2. Package names must not be prefixed with "Wm". These usually represent packages distributed by webMethods. <br/>3. Packages should start with an uppercase character and only contain alpha numeric character plus the underscore when absolutely required.. <br/>4. Package Name should start with your provided prefix. A package prefix aids identification of packages created by the organisation.]
2015-10-18 21:59:33 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.NamingStandards]
2015-10-18 21:59:33 INFO Ignore Failure [false]
2015-10-18 21:59:33 INFO -----------------------------------------------------------
2015-10-18 21:59:33 INFO Rule Id [NS5]
2015-10-18 21:59:33 INFO Rule Index [22]
2015-10-18 21:59:33 INFO Name [Naming Standards - Services]
2015-10-18 21:59:33 INFO Description [Ensure Services (Flow and Java) conform to naming standards, that is, a service must start with a lower case letter, should be camel case, and contain only alpha numeric characters (with the exception of the generated REST services)]
2015-10-18 21:59:33 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.NamingStandards]
2015-10-18 21:59:33 INFO Ignore Failure [false]
2015-10-18 21:59:33 INFO -----------------------------------------------------------
2015-10-18 21:59:33 INFO Rule Id [NS6]
2015-10-18 21:59:33 INFO Rule Index [23]
2015-10-18 21:59:33 INFO Name [Naming Standards - Documents]
2015-10-18 21:59:33 INFO Description [Ensure Document definition names conform to naming standards. A document name must start with an upper case letter, should be camel case, and contain only alpha numeric characters and the underscore character when absolutely necessary.
Documents generated from XSDs may be named docTypeRef_* and these are catered for in this check.]
2015-10-18 21:59:33 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.NamingStandards]
2015-10-18 21:59:33 INFO Ignore Failure [false]
2015-10-18 21:59:33 INFO -----------------------------------------------------------
2015-10-18 21:59:33 INFO Rule Id [NS7]
2015-10-18 21:59:33 INFO Rule Index [24]
2015-10-18 21:59:33 INFO Name [Naming Standards - Schemas]
2015-10-18 21:59:33 INFO Description [Ensure Schemas definitions conform to naming standards. A schema must start with an upper case letter, should be camel case, and contain only alpha numeric characters and the underscore character when absolutely necessary.]
2015-10-18 21:59:33 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.NamingStandards]
2015-10-18 21:59:33 INFO Ignore Failure [false]
2015-10-18 21:59:33 INFO -----------------------------------------------------------
2015-10-18 21:59:33 INFO Rule Id [NS8]
2015-10-18 21:59:33 INFO Rule Index [25]
2015-10-18 21:59:33 INFO Name [Naming Standards - FlatFiles]
2015-10-18 21:59:33 INFO Description [Ensure Flat File Dictionaries and Schema definitions conform to naming standards. They must start with an upper case letter, should be camel case, and contain only alpha numeric characters and the underscore character when absolutely necessary.]
2015-10-18 21:59:33 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.NamingStandards]
2015-10-18 21:59:33 INFO Ignore Failure [false]
2015-10-18 21:59:33 INFO -----------------------------------------------------------
2015-10-18 21:59:33 INFO Rule Id [NS9]
2015-10-18 21:59:33 INFO Rule Index [26]
2015-10-18 21:59:33 INFO Name [Naming Standards - Blaze]
2015-10-18 21:59:33 INFO Description [Ensure Blaze Rules Conform to the Naming Standards. Blaze rule service names must only contain alpha numeric characters and the underscore when absolutely necessary.]
2015-10-18 21:59:33 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.NamingStandards]
2015-10-18 21:59:33 INFO Ignore Failure [false]
2015-10-18 21:59:33 INFO -----------------------------------------------------------
2015-10-18 21:59:33 INFO Rule Id [NS10]
2015-10-18 21:59:33 INFO Rule Index [27]
2015-10-18 21:59:33 INFO Name [Naming Standards - XSL]
2015-10-18 21:59:33 INFO Description [Ensure XSL Services Conform to the Naming Standards. XSL service names must start with a lower case letter, should be camel case, and contain only alpha numeric characters]
2015-10-18 21:59:33 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.NamingStandards]
2015-10-18 21:59:33 INFO Ignore Failure [false]
2015-10-18 21:59:33 INFO -----------------------------------------------------------
2015-10-18 21:59:33 INFO Rule Id [NS11]
2015-10-18 21:59:33 INFO Rule Index [28]
2015-10-18 21:59:33 INFO Name [Naming Standards - Adapters]
2015-10-18 21:59:33 INFO Description [Ensure Adapter Services Conform to the Naming Standards. Adapter service names must start with a lower case letter, should be camel case, and contain only alpha numeric characters]
2015-10-18 21:59:33 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.NamingStandards]
2015-10-18 21:59:33 INFO Ignore Failure [false]
2015-10-18 21:59:33 INFO -----------------------------------------------------------
2015-10-18 21:59:33 INFO Rule Id [NS12]
2015-10-18 21:59:33 INFO Rule Index [29]
2015-10-18 21:59:33 INFO Name [Naming Standards - Trigger]
2015-10-18 21:59:33 INFO Description [Ensure Triggers Conform to the Naming Standards. Trigger names must start with a lower case letter, should be camel case, and contain only alpha numeric characters]
2015-10-18 21:59:33 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.NamingStandards]
2015-10-18 21:59:33 INFO Ignore Failure [false]
2015-10-18 21:59:33 INFO -----------------------------------------------------------
2015-10-18 21:59:33 INFO Rule Id [NS13]
2015-10-18 21:59:33 INFO Rule Index [30]
2015-10-18 21:59:33 INFO Name [Naming Standards - WSD]
2015-10-18 21:59:33 INFO Description [Ensure WSDs Conform to the Naming Standards. WSD names must start with a lower case letter, should be camel case, and contain only alpha numeric characters and the underscore character where absolutely necessary]
2015-10-18 21:59:33 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.NamingStandards]
2015-10-18 21:59:33 INFO Ignore Failure [false]
2015-10-18 21:59:33 INFO -----------------------------------------------------------
2015-10-18 21:59:33 INFO Rule Id [NS14]
2015-10-18 21:59:33 INFO Rule Index [31]
2015-10-18 21:59:33 INFO Name [Naming Standards - Connections]
2015-10-18 21:59:33 INFO Description [Ensure Connections Conform to the Naming Standards. Connection names must start with an upper case letter, should be camel case, and contain only alpha numeric characters and the underscore character where absolutely necessary]
2015-10-18 21:59:33 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.NamingStandards]
2015-10-18 21:59:33 INFO Ignore Failure [false]
2015-10-18 21:59:33 INFO -----------------------------------------------------------
2015-10-18 21:59:33 INFO Rule Id [NS15]
2015-10-18 21:59:33 INFO Rule Index [32]
2015-10-18 21:59:33 INFO Name [Naming Standards - Document variable names]
2015-10-18 21:59:33 INFO Description [Ensure variable names within document defintions conform to the naming standards. Variable names in document definitions must start with a lower case letter, should be camel case, and contain only alpha numeric characters. Caters for documents generated from XSDs where the document name may contain namespace prefix and use of underscore and hyphen present]
2015-10-18 21:59:33 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.DocumentChecker]
2015-10-18 21:59:33 INFO Ignore Failure [false]
2015-10-18 21:59:33 INFO -----------------------------------------------------------
2015-10-18 21:59:33 INFO Rule Id [NS16]
2015-10-18 21:59:33 INFO Rule Index [33]
2015-10-18 21:59:33 INFO Name [Naming Standards - Service Signature]
2015-10-18 21:59:33 INFO Description [Ensure Input/Output variables in service signatures conform to the naming standards. Variable names in service signatures must start with a lower case letter, should be camel case, and contain only alpha numeric characters]
2015-10-18 21:59:33 INFO Implementation [com.softwareag.gcs.wm.codereview.operations.FlowSignatureChecker]
2015-10-18 21:59:33 INFO Ignore Failure [false]
2015-10-18 21:59:33 INFO OPERATIONS EXECUTIION COMPLETE (in 3711ms)
2015-10-18 21:59:33 INFO EXECUTING SENSORS
2015-10-18 21:59:33 INFO -----------------------------------------------------------
2015-10-18 21:59:33 INFO Sensor Id [1]
2015-10-18 21:59:33 INFO Name [totals]
2015-10-18 21:59:33 INFO Implementation [com.softwareag.gcs.wm.codereview.sensors.TotalsSensor]
2015-10-18 21:59:33 INFO Decorator Name [FlowTotals]
2015-10-18 21:59:33 INFO Decorator Impl [com.softwareag.gcs.wm.codereview.decorators.SummaryTotals]
2015-10-18 21:59:33 INFO -----------------------------------------------------------
2015-10-18 21:59:33 INFO Sensor Id [2]
2015-10-18 21:59:33 INFO Name [CodeLines]
2015-10-18 21:59:33 INFO Implementation [com.softwareag.gcs.wm.codereview.sensors.CodeLines]
2015-10-18 21:59:34 INFO Decorator Name [FlowComplexity]
2015-10-18 21:59:34 INFO Decorator Impl [com.softwareag.gcs.wm.codereview.decorators.FlowComplexity]
2015-10-18 21:59:34 INFO Decorator Name [FlowTotals]
2015-10-18 21:59:34 INFO Decorator Impl [com.softwareag.gcs.wm.codereview.decorators.FlowTotals]
2015-10-18 21:59:35 INFO Code Review XML Data Stored at : ****\IotDemo_CodeReviewResults.xml
2015-10-18 21:59:35 INFO Using Report Stylesheet : ****\GenerateReport.xsl
2015-10-18 21:59:35 INFO Code Review Report Generated at: ****\IotDemo_CodeReviewReport.html
2015-10-18 21:59:35 INFO Code Review CSV Data Stored at : **** \IotDemo_CodeReviewResults.csv
2015-10-18 21:59:35 INFO CODE REVIEW STATUS - PASSED
2015-10-18 21:59:35 INFO ######## ### ###### ###### ######## ########
2015-10-18 21:59:35 INFO ## ## ## ## ## ## ## ## ## ## ##
2015-10-18 21:59:35 INFO ## ## ## ## ## ## ## ## ##
2015-10-18 21:59:35 INFO ######## ## ## ###### ###### ###### ## ##
2015-10-18 21:59:35 INFO ## ######### ## ## ## ## ##
2015-10-18 21:59:35 INFO ## ## ## ## ## ## ## ## ## ##
2015-10-18 21:59:35 INFO ## ## ## ###### ###### ######## ########
2015-10-18 21:59:35 INFO
Completed
Complete
Finally, browse and open the HTML and CSV reports provided in the directory from where the command was executed
Linux Command Line Execution
Single Package review
For linux, a shell script exists named
CodeReview.sh
This can be executed using the same parameters as the windows version. Note that like the windows script, you may need to modify this shell script to update environment variables.


Toggle navigation
GetTradies
Home
My Jobs
Logout
Profile (Customer)
Profile (Tradie)
Search Jobs
Post a Job
Name
Phone Number
Address
Save


--- title: Anisotropic Elasticity sidebar: documentation_sidebar permalink: AnisotropicTheory.html folder: documentation toc: false ---
The linear theory of ellasticity in anisotropic materials is essentialy based on the fourth order stiffness tensor C
. Such a tensor is represented in MTEX by a variable of type stiffnessTensor
. Such a variable can either by set up using a symmetric 6x6 matrix or by importing it from an external file. The following examples does so for the stiffness tensor for Olivine
The stiffness tensor tensor of a material is defined as the stress the material expreances for a given strain
{% highlight matlab %} eps = strainTensor(diag([1,1.1,0.9]),cs) {% endhighlight %} {% highlight plaintext %} eps = strainTensor (Olivin) type: Lagrange rank: 2 (3 x 3) 1 0 0 0 1.1 0 0 0 0.9 {% endhighlight %}Now Hooke's law states that the resulting stress can be computed by
{% highlight matlab %} sigma = C : eps {% endhighlight %} {% highlight plaintext %} sigma = stressTensor (Olivin) rank: 2 (3 x 3) 459.9 0 0 0 353.4 0 0 0 366.2 {% endhighlight %}The other way the compliance tensor S = inv(C)
translates stress into strain
The ellastic energy of the strain eps
can be computed equivalently by the following equations
Young's modulus is also known as the tensile modulus and measures the stiffness of elastic materials. It is computed for a specific direction d
by the command YoungsModulus.
If the direction d
is ommited Youngs modulus is returned as a spherical function.
The linear compressibility is the deformation of an arbitrarily shaped specimen caused by an increase in hydrostatic pressure and can be described by a second rank tensor. Similar to the Young's modulus it can be computed by the command linearCompressibility for specific directions d
or as a spherical function
The rate of compression / decompression in a direction n
normal to the pulling direction p
is called Poisson ratio.
If we ommit in the call to PoissonRatio
the last argument
we again obtain a spherical function. However, this time it is only meaningful to evaluate this function at directions perpendicular to the pulling direction p
. Hence, a good way to visualize this function is to plot it as a section in the x/y plane
The shear modulus is TODO
{% highlight matlab %} % shear plane n = Miller(0,0,1,cs); % shear direction d = Miller(1,0,0,cs); G = C.shearModulus(n,d) {% endhighlight %} {% highlight plaintext %} G = 6.2807e+04 {% endhighlight %} {% highlight matlab %} newMtexFigure('layout',[1,3]) % shear plane n = Miller(1,0,0,cs); plotSection(C.shearModulus(n),n,'color','interp','linewidth',5) mtexTitle(char(n)) axis off nextAxis n = Miller(1,1,0,cs); plotSection(C.shearModulus(n),n,'color','interp','linewidth',5) mtexTitle(char(n)) nextAxis n = Miller(1,1,1,cs) plotSection(C.shearModulus(n),n,'color','interp','linewidth',5) mtexTitle(char(n)) hold off setColorRange('equal') mtexColorbar drawNow(gcm,'figSize','large') {% endhighlight %} {% highlight plaintext %} n = Miller (Olivin) h k l 1 1 1 {% endhighlight %}Since elastic compression and decompression is mechanics of waves traveling through a medium anisotropic compressibility causes also anisotropic waves speeds. The analysis of this anisotropy is explained in the section wave velocities.


Django Urls - Basics to advanced tricks with best practices¶
This is where we map urls with python functions. Like the following http://xyz.com/login -> login view http://xyz.com/logout - logout view http://xyz.com/list-items - some view to list items http://xyz.com/item-detail/<item-slug> - some view to display item detasils
We can map urls using regular expression thus giuves us much more flexibility in serving web pages. You should learn regularexpressions to master this section
Urls are of few types
1. Hard coded url¶
2. Regex pattern matching¶
Django Named urls¶
TODO: explain advantages of names urls


This is our category of niche we offer for now.
Some of our best selling products with old pricing and their brand new pricing


Plan
r
About Us
The planner for your plants
User Setup
Back to see your plants?
First time user
Sign-In


05 March 2001
Disease Outbreak Reported
As of 3 March, the Kwazulu-Natal Department of Health has reported 62 607 cases and 131 deaths since the start of the outbreak in mid-August 2000.
The outbreak in Kwazulu-Natal is primarily affecting the Empangeni area, made up of the Lower Umfolozi districts and the Eshowe/Nkandla area. The lower South Coast is affected mainly in the KwaDukuza/Stanger area and Ugu Region/South Coast. Pietermaritzburg/Ndlovu is also affected.
The Kwazulu-Natal Department of Health is continuing its intensive information and education campaign.


Status check
Health check route to check the status of all downstreams system.
/status
accept: application/json
curl -X GET -H "accept: application/json" "http://my-api.com/status"
content-type: application/json
{ "status": "OK" }


| module ti.sysbios.hal.Seconds |
|
|
|
Seconds Manager
This module is a proxy to the device-specific Seconds module functions
as defined in ISeconds.xdc.
[
more ... ]
#include <ti/sysbios/hal/Seconds.h>
Functions common to all ISeconds modules |
UInt32 | |
UInt32 | |
Void | |
UInt32 | |
Functions common to all target modules |
|
|
Typedefs |
typedef struct | |
DETAILS
This module is a proxy to the device-specific Seconds module functions
as defined in ISeconds.xdc.
This module generates a custom time() function in the
configuration-generated .c file. This time() function calls Seconds_get()
to get the number of seconds since 1970 from a device-specific delegate
function.
Note: For TI codegen tools, time() returns the number of seconds since
1900. The generated time() function takes this into account, and adds the
number of seconds from 1900 to 1970 to the value returned by Seconds_get().
This allows functions such as localtime() to work correctly with TI tools.
The actual implementations of the Seconds module functions are
provided by the Seconds module delegates.
Additional, family-specific Seconds module APIs may also be provided
by the Seconds module delegates.
Follow the link below to determine which Seconds delegate is used
for your Target/Device:
Calling Context
| Function | Hwi | Swi |
Task | Main | Startup |
| get | Y | Y |
Y | Y | Y |
| set | N | N |
Y | Y | Y |
Definitions:
- Hwi: API is callable from a Hwi thread.
- Swi: API is callable from a Swi thread.
- Task: API is callable from a Task thread.
- Main: API is callable during any of these phases:
- In your module startup after this module is started
(e.g. Seconds_Module_startupDone() returns TRUE).
- During xdc.runtime.Startup.lastFxns.
- During main().
- During BIOS.startupFxns.
- Startup: API is callable during any of these phases:
- During xdc.runtime.Startup.firstFxns.
- In your module startup before this module is started
(e.g. Seconds_Module_startupDone() returns FALSE).
|
Usage example with run-time support library:
#include <ti/sysbios/hal/Seconds.h>
#include <time.h>
time_t t;
struct tm *ltm;
char *curTime;
Seconds_set(STARTTIME);
t = time(NULL);
ltm = localtime(&t);
curTime = asctime(ltm);
System_printf("Time(GMT): %s\n", curTime);
| struct Seconds_Time |
|
Structure to hold a time value in seconds plus nanoseconds
typedef struct Seconds_Time {
UInt32 secs;
// Seconds
UInt32 nsecs;
// Nanoseconds
} Seconds_Time;
| Seconds_get() // module-wide |
|
Returns number of seconds since 1970 (the Unix epoch)
DETAILS
The user must call Seconds_set() before making any calls to Seconds_get(),
otherwise the value returned by Seconds_get() will be meaningless.
| Seconds_getTime() // module-wide |
|
Fills in a Seconds_Time structure with seconds and nanoseconds
elapsed since 1970 (the Unix epoch)
DETAILS
Seconds_set() must have been called before making any calls to
Seconds_getTime(), otherwise the value returned by Seconds_getTime()
will be meaningless.
| Seconds_set() // module-wide |
|
Update the real time clock with number of seconds since 1970
Void Seconds_set(UInt32 seconds);
DETAILS
Note: This function is non-reentrant.
| Seconds_setTime() // module-wide |
|
Update the real time clock with the number of seconds and nanoseconds
that have elapsed since 1970 (the Unix epoch). The Seconds_Time
structure passed to setTime() contains the seconds and nanoseconds
to set the real time clock to. This API can be called instead
of Seconds_set(), if finer granularity of the time is required
| Module-Wide Built-Ins |
|
// Get this module's unique id
Bool Seconds_Module_startupDone();
// Test if this module has completed startup
// The heap from which this module allocates memory
Bool Seconds_Module_hasMask();
// Test whether this module has a diagnostics mask
Bits16 Seconds_Module_getMask();
// Returns the diagnostics mask for this module
Void Seconds_Module_setMask(Bits16 mask);
// Set the diagnostics mask for this module
var Seconds = xdc.useModule('ti.sysbios.hal.Seconds');
local proxy modules
module-wide constants & types
module-wide config parameters
generated on Wed, 28 Aug 2019 17:00:23 GMT


Borderlands 3 hotfix tackles a couple of progression blockers
by Sherif SaedThere’s a new Borderlands 3 patch that aims to take care of a few player-reported issues.
Borderlands 3‘s latest hotfix is now available on all platforms. This update is entirely focused of addressing bugs that could block player progress, as well taking care of a few other miscellaneous issues.
Hotfixes are live updates the game automatically downloads in the main menu, so be sure to sit on that screen for a bit the next time you launch Borderlands 3 to get the update.
Outside of fixes, the hotfix also begins the winding down of the game’s Bloody Harvest event by reducing the frequency of Haunted enemies across the world. Check below for the full change log:
Bug fixes
- Addressed a reported concern that players would experience their screen shaking while in a party when one player used Bear Fist
- Addressed a reported concern with duplicated audio when Maya turns on the music in “Beneath the Meridian” when playing in a party
- Addressed a reported concern where players couldn’t hear Aurelia’s Holographic Doorbell answer the door
- Addressed a reported concern where some players were missing the waypoint when quitting out of the map or performing a save and load during the “Bad Reception” side mission
- Addressed a reported concern that the portal in Destroyer’s Rift disappears after completing the mission “Divine Retribution”
- Addressed a reported concern that the Eridian structures were not resetting after player death during the Tyreen boss fight
Bloody Harvest
- Lowered the chance to see Haunted enemies outside of Heck.
The big Borderlands 3 November update is still on track. Among other things, the patch will add free new content to the game in the form of Takedown at Maliwan’s Blacksite.
Games featured in this article


Projects
Shiritori
This project is a fun little word game that my group did for our final 201 project in Delta V. The rules of this game are that you have to spell a word given the last letter of your opponent's word within the time limit provided. The longer the word and the more time that is left when you submit your word earns you points. This project was made by using JavaScript, HTMl and CSS.
Paranormal Maptivity
Paranormal Maptivity is a project where you can look at reports or incidents of different paranormal/extraterrestrial happenings. This project was created as our final 301 project for Delta V. This project used several different tools, including JQuery, JSON, some HTML, Handlebars, the implementation of four different external APIs and CSS.
BattleShip Delta
This project was the final project for my 401 class in Delta V. With this project, we made our own API using NodeJs to run the back end of our server and our front end website is using React. BattleShip Delta I an online version of your everyday battleship boardgame. You sign in to the website, create a game, send an invite to your opponent (you must know the name of that person) and are given three ships, a two long, a three long and a four long. You place them by putting in the coordinates that you would like to use and wait for your opponent to place their ships. After that, the game begins by typing in a coordinate and hoping that you hit a ship.


module GUIgeneric.GUIFeaturesPart5 where
open import GUIgeneric.Prelude renaming (addButton to addButton')
open import GUIgeneric.GUIDefinitions renaming (add to add'; add' to add)
open import GUIgeneric.GUI
open import GUIgeneric.GUIExampleLib
open import StateSizedIO.GUI.WxGraphicsLibLevel3 renaming (addButton to addButton')
open import GUIgeneric.GUIFeatures
open import GUIgeneric.GUIFeaturesPart2 hiding ( main ; main1 )
open import GUIgeneric.GUIFeaturesPart3 hiding ( main ; Tea ; Cancel)
open import GUIgeneric.GUIFeaturesPart4 hiding ( main ; cancelNewStateSM ; cancelStateAdded ; cancelFeatureAdded )
open import GUIgeneric.GUIExample hiding (main )
data StatesBasicVM : Set where
pay change soda serveSoda open' close : StatesBasicVM
basicVM : FMachine StatesBasicVM
basicVM .Features = ⊤
basicVM .AddStateF = ⊥
basicVM .GUIF f (inj₁ pay) =
simpleSMState "Pay" (inj₁ change)
basicVM .GUIF f (inj₁ change) =
simpleSMState "Get Change" (inj₁ soda)
basicVM .GUIF f (inj₁ soda) =
simpleSMState "Soda" (inj₁ serveSoda)
basicVM .GUIF f (inj₁ serveSoda) =
simpleSMState "Serve Soda" (inj₁ open')
basicVM .GUIF f (inj₁ open') =
simpleSMState "Open" (inj₁ close)
basicVM .GUIF f (inj₁ close) =
simpleSMState "Close" (inj₁ pay)
basicVM .GUIF f (inj₂ ())
newState : {A B : Set} → A ⊎ B ⊎ ⊤
newState = (inj₂ (inj₂ tt))
teaNewStateSM : (fm : FMachine StatesBasicVM)
→ SMachineState
(StatesBasicVM ⊎ fm .AddStateF ⊎ ⊤)
newState
teaNewStateSM fm = simpleSMState "Serve Tea" (inj₁ open')
TeaMAddNewState : FMachine StatesBasicVM
→ FMachine StatesBasicVM
TeaMAddNewState fm =
addOneStateFMachine fm (teaNewStateSM fm)
TeaMAddFeature : FMachine StatesBasicVM
→ FMachine StatesBasicVM
TeaMAddFeature fm = addDummyFeatures
(TeaMAddNewState fm)
FeatureTea
Tea : FMachine StatesBasicVM
→ FMachine StatesBasicVM
Tea fm .Features = TeaMAddFeature fm .Features
Tea fm .AddStateF = TeaMAddFeature fm .AddStateF
Tea fm .GUIF (f , yesTea) (inj₁ soda) =
addBtn2StateMachine
( TeaMAddFeature fm .GUIF
(f , yesTea) (inj₁ soda))
"Tea" newState
Tea fm .GUIF f s = TeaMAddFeature fm .GUIF f s
cancelNewStateSM : (fm : FMachine StatesBasicVM) →
SMachineState (StatesBasicVM ⊎ fm .AddStateF ⊎ ⊤) newState
cancelNewStateSM fm = simpleSMState "Cancelling" (inj₁ pay)
cancelStateAdded : FMachine StatesBasicVM → FMachine StatesBasicVM
cancelStateAdded fm = addOneStateFMachine fm (cancelNewStateSM fm)
cancelFeatureAdded : FMachine StatesBasicVM → FMachine StatesBasicVM
cancelFeatureAdded fm = addDummyFeatures
(cancelStateAdded fm)
FeatureCancel
Cancel : FMachine StatesBasicVM
→ FMachine StatesBasicVM
Cancel fm .Features = cancelFeatureAdded fm .Features
Cancel fm .AddStateF = cancelFeatureAdded fm .AddStateF
Cancel fm .GUIF (f , yesCancel) (inj₁ soda) =
addBtn2StateMachine (cancelFeatureAdded fm .GUIF (f , yesCancel) (inj₁ soda))
"Cancel" newState
Cancel fm .GUIF f s = cancelFeatureAdded fm .GUIF f s
FreeMAddFeature : FMachine StatesBasicVM
→ FMachine StatesBasicVM
FreeMAddFeature fm = addDummyFeatures fm FeatureFree
Free : FMachine StatesBasicVM
→ FMachine StatesBasicVM
Free fm .Features = FreeMAddFeature fm .Features
Free fm .AddStateF = FreeMAddFeature fm .AddStateF
Free fm .GUIF (f , yesFree) (inj₁ pay) =
simpleSMState "Free" (inj₁ soda)
Free fm .GUIF (f , yesFree) (inj₁ open') =
simpleSMState "Skip" (inj₁ pay)
Free fm .GUIF f s = FreeMAddFeature fm .GUIF f s
main1 : NativeIO Unit
main1 = compileFeatureVM (Tea (Cancel basicVM)) ((_ , yesCancel) , yesTea) (inj₁ pay)
main2 : NativeIO Unit
main2 = compileFeatureVM (Free basicVM) (_ , yesFree) (inj₁ pay)
multiFeatureMachine : FMachine StatesBasicVM
multiFeatureMachine = Free (Cancel (Tea basicVM))
main : NativeIO Unit
main = compileFeatureVM
multiFeatureMachine
(((_ , yesTea) , yesCancel) , noFree) (inj₁ pay)


We help you find side jobs with your personal 3-D printer or help find someone who can accomplish all your printing needs!
Looking to make a little extra on the side? Rent out your printer!
Looking to print parts or a fun gift? Browse through our Designated Printers to find the right match for your 3-D needs!


--- layout: default title: Home ---
The Patient Data Manager collects all of your health data across hospitals and services to create a longitudinal health record. Use this always updating, accurate, digital record for managing any part of your health.
Every source. One picture.
Your health data comes from many hospitals, clinics, devices, and services. We help you connect all your health data into one service, the Patient Data Manager.
Own your health data.
By breaking down the barriers between you and your health data you'll be able to oversee your health like never before.
Share a lot, a little, or none.
Easily share your health data with your care team, from doctor to family. The care team will have a real-time connection to the health data they have been granted access to.
Prepare for an emergency.
Core healthcare information about you should be available to first responders and clinicians. Consent in advance for emergency access to primary care health data that can save your life.
Donate your data.
You can share your data for research. Your data can help researchers learn more about humans and discover new treatments.
Leave your legacy.
End of life directives, Do Not Resuscitate Orders (DNR), healthcare proxies, and living wills, are part of your healthcare and the Patient Data Manager.
Your health data is more than lab results, prescriptions, and blood pressure readings. It's life data.
Patient Data Use Agreement (PDUA)
The legal agreement between the patient and the PDM. This is a step towards the patient owning and controlling their health data. Review and collaborate on the current PDUA draft. Learn More
Patient Health Record (PHR)
A visual representation of a patient's entire health record, birth to death, clinical to non-clinical.
Patient Data Receipt (PDR)
A fully documented receipt of a health transaction – from hospital visits to wearables. See health metrics, services performed, financials, related documentation, and a transparent list of the parties that can see the data.
PDM Marketplace
The PDM marketplace will allow organizations and developers to build new functionality to enhance the PDM experience. One could create a care planning tool or allow a Patient Reported Outcome (PRO) to become influential in care – just a few possibilities to benefit from the patient owning their health data.
Contact<EMAIL_ADDRESS>for feedback and how to work together.
The Patient Data Manager is licensed under Apache 2.0.


It is election day, May 7th 2012 for the Bahamas. While we
have been here we have seen many posters for the candidates and
several parades/rallies as well. The two political parties
are the FNM, Free National Movement , and the PLP, Progressive
Liberal Party. The FNM is very identifiable with red on
all their posters and the PLP goes with the yellow. There
are several other smaller groups but these two are the primary
political powers.
As we have through the different islands it is easy to spot
which party is the island's choice by the number of posters.
We have talked to a few people and they are very committed to
their party and the election turn outs are usually over 85%.
Their elections are held every 5 years and if a new party gets
into office there is usually major change. Some of the
businesses really worry about what the changes will be.
5/9/12 The votes have been counted and PLP has won.
Update; 5/6/12 Election time here in the Bahamas


VitNX2_RichTextBox Properties
The following tables list the members exposed by the VitNX2_RichTextBox type.
| Name | Description | |
|---|---|---|
| AcceptsTab | Gets or sets a value indicating whether pressing the TAB key in a multiline text box control types a TAB character in the control instead of moving the focus to the next control in the tab order. (inherited from TextBoxBase). | |
| AccessibilityObject | Gets the AccessibleObject assigned to the control. (inherited from Control). | |
| AccessibleDefaultActionDescription | Gets or sets the default action description of the control for use by accessibility client applications. (inherited from Control). | |
| AccessibleDescription | Gets or sets the description of the control used by accessibility client applications. (inherited from Control). | |
| AccessibleName | Gets or sets the name of the control used by accessibility client applications. (inherited from Control). | |
| AccessibleRole | Gets or sets the accessible role of the control (inherited from Control). | |
| AllowDrop | Gets or sets a value indicating whether the control will enable drag-and-drop operations. (inherited from RichTextBox). | |
| Anchor | Gets or sets the edges of the container to which a control is bound and determines how a control is resized with its parent. (inherited from Control). | |
| AutoScrollOffset | Gets or sets where this control is scrolled to in ScrollControlIntoView. (inherited from Control). | |
| AutoSize | This property is not relevant to this class. (inherited from RichTextBox). | |
| AutoWordSelection | Gets or sets a value indicating whether automatic word selection is enabled. (inherited from RichTextBox). | |
| BackColor | Gets or sets the background color of the control. (inherited from TextBoxBase). | |
| BackgroundImage | This property is not relevant to this class. (inherited from RichTextBox). | |
| BackgroundImageLayout | This property is not relevant to this class. (inherited from RichTextBox). | |
| BindingContext | Gets or sets the BindingContext for the control. (inherited from Control). | |
| BorderStyle | Gets or sets the border type of the text box control. (inherited from TextBoxBase). | |
| Bottom | Gets the distance, in pixels, between the bottom edge of the control and the top edge of its container's client area. (inherited from Control). | |
| Bounds | Gets or sets the size and location of the control including its nonclient elements, in pixels, relative to the parent control. (inherited from Control). | |
| BulletIndent | Gets or sets the indentation used in the RichTextBox control when the bullet style is applied to the text. (inherited from RichTextBox). | |
| CanFocus | Gets a value indicating whether the control can receive focus. (inherited from Control). | |
| CanRedo | Gets a value indicating whether there are actions that have occurred within the RichTextBox that can be reapplied. (inherited from RichTextBox). | |
| CanSelect | Gets a value indicating whether the control can be selected. (inherited from Control). | |
| CanUndo | Gets a value indicating whether the user can undo the previous operation in a text box control. (inherited from TextBoxBase). | |
| Capture | Gets or sets a value indicating whether the control has captured the mouse. (inherited from Control). | |
| CausesValidation | Gets or sets a value indicating whether the control causes validation to be performed on any controls that require validation when it receives focus. (inherited from Control). | |
| ClientRectangle | Gets the rectangle that represents the client area of the control. (inherited from Control). | |
| ClientSize | Gets or sets the height and width of the client area of the control. (inherited from Control). | |
| CompanyName | Gets the name of the company or creator of the application containing the control. (inherited from Control). | |
| Container | Gets the IContainer that contains the Component. (inherited from Component). | |
| ContainsFocus | Gets a value indicating whether the control, or one of its child controls, currently has the input focus. (inherited from Control). | |
| ContextMenu | Gets or sets the shortcut menu associated with the control. (inherited from Control). | |
| ContextMenuStrip | Gets or sets the ContextMenuStrip associated with this control. (inherited from Control). | |
| Controls | Gets the collection of controls contained within the control. (inherited from Control). | |
| Created | Gets a value indicating whether the control has been created. (inherited from Control). | |
| Cursor | Gets or sets the cursor that is displayed when the mouse pointer is over the control. (inherited from Control). | |
| DataBindings | Gets the data bindings for the control. (inherited from Control). | |
| DetectUrls | Gets or sets a value indicating whether or not the RichTextBox will automatically format a Uniform Resource Locator (URL) when it is typed into the control. (inherited from RichTextBox). | |
| DeviceDpi | (inherited from Control). | |
| DisplayRectangle | Gets the rectangle that represents the display area of the control. (inherited from Control). | |
| Disposing | Gets a value indicating whether the base Control class is in the process of disposing. (inherited from Control). | |
| Dock | Gets or sets which control borders are docked to its parent control and determines how a control is resized with its parent. (inherited from Control). | |
| EnableAutoDragDrop | Gets or sets a value that enables drag-and-drop operations on text, pictures, and other data. (inherited from RichTextBox). | |
| Enabled | Gets or sets a value indicating whether the control can respond to user interaction. (inherited from Control). | |
| Focused | Gets a value indicating whether the control has input focus. (inherited from Control). | |
| Font | Gets or sets the font used when displaying text in the control. (inherited from RichTextBox). | |
| ForeColor | Gets or sets the font color used when displaying text in the control. (inherited from RichTextBox). | |
| Handle | Gets the window handle that the control is bound to. (inherited from Control). | |
| HasChildren | Gets a value indicating whether the control contains one or more child controls. (inherited from Control). | |
| Height | Gets or sets the height of the control. (inherited from Control). | |
| HideSelection | Gets or sets a value indicating whether the selected text in the text box control remains highlighted when the control loses focus. (inherited from TextBoxBase). | |
| ImeMode | Gets or sets the Input Method Editor (IME) mode of the control. (inherited from Control). | |
| InvokeRequired | Gets a value indicating whether the caller must call an invoke method when making method calls to the control because the caller is on a different thread than the one the control was created on. (inherited from Control). | |
| IsAccessible | Gets or sets a value indicating whether the control is visible to accessibility applications. (inherited from Control). | |
| IsDisposed | Gets a value indicating whether the control has been disposed of. (inherited from Control). | |
| IsHandleCreated | Gets a value indicating whether the control has a handle associated with it. (inherited from Control). | |
| IsMirrored | Gets a value indicating whether the control is mirrored. (inherited from Control). | |
| LanguageOption | Gets or sets a value that indicates RichTextBox settings for Input Method Editor (IME) and Asian language support. (inherited from RichTextBox). | |
| LayoutEngine | Gets a cached instance of the control's layout engine. (inherited from Control). | |
| Left | Gets or sets the distance, in pixels, between the left edge of the control and the left edge of its container's client area. (inherited from Control). | |
| Lines | Gets or sets the lines of text in a text box control. (inherited from TextBoxBase). | |
| Location | Gets or sets the coordinates of the upper-left corner of the control relative to the upper-left corner of its container. (inherited from Control). | |
| Margin | Gets or sets the space between controls. (inherited from Control). | |
| MaxLength | Gets or sets the maximum number of characters the user can type or paste into the rich text box control. (inherited from RichTextBox). | |
| MaximumSize | Gets or sets the size that is the upper limit that GetPreferredSize can specify. (inherited from Control). | |
| MinimumSize | Gets or sets the size that is the lower limit that GetPreferredSize can specify. (inherited from Control). | |
| Modified | Gets or sets a value that indicates that the text box control has been modified by the user since the control was created or its contents were last set. (inherited from TextBoxBase). | |
| Multiline | Gets or sets a value indicating whether this is a multiline RichTextBox control. (inherited from RichTextBox). | |
| Name | Gets or sets the name of the control. (inherited from Control). | |
| Padding | This property is not relevant for this class. (inherited from TextBoxBase). | |
| Parent | Gets or sets the parent container of the control. (inherited from Control). | |
| PreferredHeight | Gets the preferred height for a text box. (inherited from TextBoxBase). | |
| PreferredSize | Gets the size of a rectangular area into which the control can fit. (inherited from Control). | |
| ProductName | Gets the product name of the assembly containing the control. (inherited from Control). | |
| ProductVersion | Gets the version of the assembly containing the control. (inherited from Control). | |
| ReadOnly | Gets or sets a value indicating whether text in the text box is read-only. (inherited from TextBoxBase). | |
| RecreatingHandle | Gets a value indicating whether the control is currently re-creating its handle. (inherited from Control). | |
| RedoActionName | Gets the name of the action that can be reapplied to the control when the Redo method is called. (inherited from RichTextBox). | |
| Region | Gets or sets the window region associated with the control. (inherited from Control). | |
| RichTextShortcutsEnabled | This property is not relevant for this class. (inherited from RichTextBox). | |
| Right | Gets the distance, in pixels, between the right edge of the control and the left edge of its container's client area. (inherited from Control). | |
| RightMargin | Gets or sets the size of a single line of text within the RichTextBox control. (inherited from RichTextBox). | |
| RightToLeft | Gets or sets a value indicating whether control's elements are aligned to support locales using right-to-left fonts. (inherited from Control). | |
| Rtf | Gets or sets the text of the RichTextBox control, including all rich text format (RTF) codes. (inherited from RichTextBox). | |
| ScrollBars | Gets or sets the type of scroll bars to display in the RichTextBox control. (inherited from RichTextBox). | |
| SelectedRtf | Gets or sets the currently selected rich text format (RTF) formatted text in the control. (inherited from RichTextBox). | |
| SelectedText | Gets or sets the selected text within the RichTextBox. (inherited from RichTextBox). | |
| SelectionAlignment | Gets or sets the alignment to apply to the current selection or insertion point. (inherited from RichTextBox). | |
| SelectionBackColor | Gets or sets the color of text when the text is selected in a RichTextBox control. (inherited from RichTextBox). | |
| SelectionBullet | Gets or sets a value indicating whether the bullet style is applied to the current selection or insertion point. (inherited from RichTextBox). | |
| SelectionCharOffset | Gets or sets whether text in the control appears on the baseline, as a superscript, or as a subscript below the baseline. (inherited from RichTextBox). | |
| SelectionColor | Gets or sets the text color of the current text selection or insertion point. (inherited from RichTextBox). | |
| SelectionFont | Gets or sets the font of the current text selection or insertion point. (inherited from RichTextBox). | |
| SelectionHangingIndent | Gets or sets the distance between the left edge of the first line of text in the selected paragraph and the left edge of subsequent lines in the same paragraph. (inherited from RichTextBox). | |
| SelectionIndent | Gets or sets the length, in pixels, of the indentation of the line where the selection starts. (inherited from RichTextBox). | |
| SelectionLength | Gets or sets the number of characters selected in control. (inherited from RichTextBox). | |
| SelectionProtected | Gets or sets a value indicating whether the current text selection is protected. (inherited from RichTextBox). | |
| SelectionRightIndent | The distance (in pixels) between the right edge of the RichTextBox control and the right edge of the text that is selected or added at the current insertion point. (inherited from RichTextBox). | |
| SelectionStart | Gets or sets the starting point of text selected in the text box. (inherited from TextBoxBase). | |
| SelectionTabs | Gets or sets the absolute tab stop positions in a RichTextBox control. (inherited from RichTextBox). | |
| SelectionType | Gets the selection type within the control. (inherited from RichTextBox). | |
| ShortcutsEnabled | Gets or sets a value indicating whether the defined shortcuts are enabled. (inherited from TextBoxBase). | |
| ShowSelectionMargin | Gets or sets a value indicating whether a selection margin is displayed in the RichTextBox. (inherited from RichTextBox). | |
| Site | Gets or sets the site of the control. (inherited from Control). | |
| Size | Gets or sets the height and width of the control. (inherited from Control). | |
| TabIndex | Gets or sets the tab order of the control within its container. (inherited from Control). | |
| TabStop | Gets or sets a value indicating whether the user can give the focus to this control using the TAB key. (inherited from Control). | |
| Tag | Gets or sets the object that contains data about the control. (inherited from Control). | |
| Text | Gets or sets the current text in the rich text box. (inherited from RichTextBox). | |
| TextLength | (inherited from RichTextBox). | |
| Top | Gets or sets the distance, in pixels, between the top edge of the control and the top edge of its container's client area. (inherited from Control). | |
| TopLevelControl | Gets the parent control that is not parented by another Windows Forms control. Typically, this is the outermost Form that the control is contained in. (inherited from Control). | |
| UndoActionName | Gets the name of the action that can be undone in the control when the Undo method is called. (inherited from RichTextBox). | |
| UseWaitCursor | Gets or sets a value indicating whether to use the wait cursor for the current control and all child controls. (inherited from Control). | |
| Visible | Gets or sets a value indicating whether the control and all its child controls are displayed. (inherited from Control). | |
| Width | Gets or sets the width of the control. (inherited from Control). | |
| WindowTarget | This property is not relevant for this class. (inherited from Control). | |
| WordWrap | Indicates whether a multiline text box control automatically wraps words to the beginning of the next line when necessary. (inherited from TextBoxBase). | |
| ZoomFactor | Gets or sets the current zoom level of the RichTextBox. (inherited from RichTextBox). |


| VVT-i, or Variable Valve Timing with intelligence, is an automobile variable valve timing technology developed by Toyota. The Toyota VVT-i system replaces the Toyota VVT offered starting in 1991 on the 5-valve per cylinder 4A-GE engine. The VVT system is a 2-stage hydraulically controlled cam phasing system. | A continuously variable transmission or CVT (also known as a single-speed transmission, stepless transmission, pulley transmission, or, in case of motorcycles, a twist-and-go) is an automatic transmission that can change seamlessly through a continuous range of effective gear ratios. The flexibility of a CVT allows the input shaft to maintain a constant angular velocity. | The MacPherson strut is a type of automotive suspension system that uses the top of a telescopic damper as the upper steering pivot. It is widely used in the front suspension of modern vehicles and is named for American automotive engineer Earle S. MacPherson, who originally invented and developed the design. |


Here are defined all feed sources that will be used when generating feed digest for the credential. The list consists of personal blogs of all course participants.
Also, you can add arbitary sources to be included in feed digest.
| Feed source | Actions |
|---|---|
|
|
|
| Participant | Feed source |
|---|---|
| #{feed.userFullName} | #{feed.feedLink} |


可选布局
1.搜索表单 .form-search .input-medium .search-query
Search
2.行内表单 .form-inline
Remember me
Sign In
3.水平表单 .form-horizontal .control-group .control-label .controls
Email
Password
Remember me
Sign in
支持的表单控件
1.复选框和单选框
Option one is this and that—be sure to include why it's great
Option one is this and that—be sure to include why it's great
Option one is this and that—be sure to include why it's great
2.行内复选框
1
2
3
3.下拉框
1
2
3
1
2
3
4
5
6
4.扩展表单控件
@
¥
¥
0.00
5.按钮下拉菜单
Action
Action
Author
Film
Action
Action
Author
Film
Action
Action
Author
Film
Action
6.搜索表单
Search
7.相对大小
8.网格大小
1
2
3
9.不可编辑的输入框
Some value here
Save
Cancel


interface SearchForAccessPointsCallbacks : BaseCallback
Callbacks for finding a list of nearby access points on a device.
See Also
com.isupatches.wisefy.WiseFy.searchForAccessPoints
Author
Patches
abstract fun foundAccessPoints(accessPoints: List<ScanResult>): Unit
Called when WiseFy has successfully found matching access points. |
|
abstract fun noAccessPointsFound(): Unit
Called when WiseFy times out trying to find a matching access points. |
abstract fun wisefyFailure(wisefyFailureCode: Int): Unit
Called when com.isupatches.wisefy.WiseFyPrechecks determines that there is an issue and an operation cannot be completed. |


Knee deep in the deep web
For those of you who do not know that the deep web is I will offer a short, but a wee bit incorrect, explanation of what it is. There exists a portion of the Internet that is not indexed by any search engine like Google. These websites can only be accessed if you have a URL(link) to access them. In addition a large portion of these websites restrict traffic that to do not originate from computers that do not identify themselves in a certain way. These computers constitute what is called “the onion network” and they use TOR (former acronym for The Onion Routing) software to access other peers and bridges on this network.
How to access the deep web
Step 1: Downloading qemu and tails
Before you tell me that you don't need either of things,
I feel it would be egregious to not direct people to use the deep web with maximum anonymity
How ever if you prefer to run tor on your host system then just skip to the next step
Get Qemu and Tails. Qemu is something like virtual box that is used to in our case to launch the tails .iso. Once you install qemu the right way for your operating system and have it on your system path, open a terminal session in the same folder as the tails .iso and run
qemu-system-i386 -enable-kvm -m 1024 -cdrom tails-i386-2.9.1.iso
Now, this assumes you have atleast 1Gb of RAM to spare. If you don’t have KVM things are gonna be a lot slower for you.
Step 2: Using the tor browser bundle
Now tails comes with bundle installed by default. For those of you who skipped to this step straight away, get the tor bundle here. Launch the tor browser from the applications tab on tails once it boots and you finish the initial login stuff, and by directly clicking the tor browser button if you downloaded the tor bundle standalone.
Step 3: Hitting the deep web
CAVEAT: THE DEEP WEB HAS A LOT OF ADULT, ILLEGAL AND OUTRIGHT SPOOKY STUFF, BROWSE AT YOUR OWN RISK
Navigate to The Hidden Wiki -> clearnet visible onion link. This the part I lied about earlier. Engines like DuckDuckGo do index the deep web, just not very well.
This page is called the hidden wiki because it is an info dump of various deep web services and serves as an introduction point to these services. It is also hme to several interesting and poignant
articles on anonymity.
There exists and uncensored hidden wiki, but I will not link to that because of the nature of the content there
Final Step 4: Peeling the onion
Markets
Checkout the deepweb markets. You can find a ton of cool stuff for sale, in addition to contraband substances which I do not endorse or recommend
Books and Manuals
Granted you’ll find a lot of manuals about stuff you’re not supposed to see but stuff like the Jotun Library and Liberated Books have some rare gems
Look at Hacktivism and Political Whistleblowing
Know about stuff before CNN talks about it. Learn about internet activism and Freedom of Information
Image and Message Boards
Meet like minded people and other curious explorers like you on the deep web’s version of 4chan and Reddit
This concludes this very rudimentary introduction to the deep web. :)


LASER
Twitter
Instagram
Shop
Shop
Shop
Shop
Shop
Journal
Journal
Journal
Journal
Journal
Projects
Projects
Projects
Projects
Projects
Stockists
Stockists
Stockists
Stockists
Stockists
About
About
About
About
About
Contact us by
email


This is the UQCS constitution – the set of rules that govern the society. Any changes
to the constitution must be requested and voted on at a General Meeting. Proposals
can be made through the submission of issues to
this GitHub repository by members of the society.


{{players.player1.name}} {{#players.player2}} and {{players.player2.name}} {{/players.player2}} did not provide a phone number.


--- layout: error ---
The page you are looking for might have been removed, had its name changed or is temporary unavailable. Go to the index page and try again.


An Artifact Collection Agency is a group of people who make it their business to collect mysterious artifacts. Sometimes this is done to protect the artifacts from misuse, or to protect the world from the artifacts which are considered inherently dangerous. Of course, collectors can have ulterior motives, too.
Though they are more often run by the government, sometimes private citizens form Artifact Collection Agencies and create fabulous repositories for them in the form of the Bazaar of the Bizarre, Trophy Room or Superhero Trophy Shelf. Governmental artifact collectors will often have a Secret Government Warehouse where recovered artifacts are kept under lock and key.
Of course, they Gotta Catch Them All.
Commonly sought by the Artifact Collection Agency are:
- Ancient Artifact
- Artifact of Death
- Artifact of Doom
- Artifact of Attraction
- Clingy MacGuffin
- MacGuffin
- Empathic Weapon
- Amplifier Artifact
- Tome of Eldritch Lore
Compare with:
- The Men in Black: Both are clandestine government operatives charged with maintaining the Masquerade, but the Men In Black have a much broader mission scope than the Artifact Collection Agency and a bit more of a soldierly quality to them.
- The Collector of the Strange: A one-person Artifact Collection Agency who collects the extraordinary for his/her own enjoyment. May be in conflict with the Artifact Collection Agency.
- Creature-Hunter Organization: Instead of collecting things, they seek and destroy things. Occasionally overlaps if they collect something from the things they hunt.
- Museum of the Strange and Unusual
Examples:
- The Speedwagon Foundation in JoJo's Bizarre Adventure works in conjunction with the Joestar family to collect and research the various supernatural MacGuffins throughout the series, such as the vampire-creating Stone Masks and the psychic power-bestowing Stand Arrows.
- One of the primary objectives of the Time-Space Administration Bureau in the Lyrical Nanoha franchise has always been securing the Lost Logia, magical artifacts created by ancient civilizations like Belka and Al-Hazard. The reason for this is that Lost Logia are extremely dangerous to unsuspecting civilians and even more so in criminal hands, although some minds within TSAB have also tried to weaponize Lost Logia themselves.
- The Society from Dragon Crisis! collects artifacts called "Lost Preciouses". The more powerful/dangerous ones are usually locked away in vaults, while individual members of the Society have their own private collections. Eriko also started up her own Lost Precious collection agency called Seven Tails that specializes in acquiring and recovering Lost Preciouses.
- The Disney Kingdoms series "Seekers of the Weird" has the Wardens, a secret group who gather and protect dangerous magical objects in the Museum of the Weird.
- In The Mansionverse, Walt Disney Imagineering themselves have elements of this (the private version thereof, that is). They track down and bring back supernatural objects, creatures and even buildings, all in order to make Disneyland more "realistic" instead of a mere special effects show. The Haunted Mansion itself is only the cherry on top of a collection that also includes Tikis, Yetis and more.
- The Secret Government Warehouse seen at the end of Raiders of the Lost Ark implies the existence of such an agency: It's far too large to only contain things stumbled upon by chance. The fourth film starts at either the same or a very similar warehouse, located in Area 51.
- As mentioned below in the Live-Action TV section, this happens in Stargate. It is worth mentioning that Stargate Command (the operation which runs the Stargate on the tv show) doesn't exist yet during the movie, so in this case the artifact collecting agency is the US Air Force.
- The Doctor Who New Adventures novels have the Library of St John the Beheaded, which collects and preserves books and manuscripts containing information for which The World Is Not Ready. Stories set in the future, when mankind has gone to the stars, have the Braxiatel Collection, which does likewise for many worlds. (Theatre of War includes a passing reference suggesting that the Collection contains the Library within it, and the Doctor Who Missing Adventures novel Empire of Glass confirms the connection.)
- The Braxiatel Collection also features in the spin-off Bernice Summerfield series.
- In The Wheel of Time, the White Tower claims all sa'angreal, angreal, and ter'angreal for itself, arguing that they are too dangerous to be handled by anyone else (sometimes this is true). The government of Tear also tries to accumulate as many ancient artifacts as possible, with the argument that they need to keep them all out of the hands of the Tower and the Dragon.
- The Misuse of Muggle Artifacts Office in Harry Potter is responsible for retrieving enchanted items which have somehow found their way into Muggle hands to preserve The Masquerade.
- Friday the 13th: The Series focuses on the antique shop of one Lewis Vendredi, who made a Deal with the Devil that involved using the shop to sell cursed antiques, before he eventually broke the contract and lost his soul. The shop is now in the hands of his niece Micki and her cousin Ryan, who have made it their mission to recover every Artifact of Doom their uncle once sold before they can do any more harm to the world around them.
- Warehouse 13, in which special agents from various government organizations, as well as civilians in some cases, are recruited to snag, bag, and tag "whatever's trying to ruin the world's day." There have been 13 incarnations, each in a different country, beginning with the one founded by Alexander the Great. Since then, times and means have changed, but the mission has not.
- Perhaps notably, one of the incarnations of the Warehouse was the Library of Alexandria, which as we all know went up in flames. There's one of the downsides to collecting world-destroying artifacts.
- Several previous Warehouses are shown. Warehouse 2 was in Egypt, deliberately buried in sand, when the Romans were getting close. Warehouse 9 was in Turkey during the days of the Ottoman Empire. Warehouse 12 was in London.
- The Lost Room, which actually had several such groups: the Collectors (the original group, now defunct), the Legion (seeking to protect people from the Objects and, generally, unwilling to kill), and the Order (a religious group, perfectly willing to kill to get their hands on every single Object).
- In the Stargate franchise, this is part of Stargate Command's charter. Basically, their mission is "Go find alien tech we can use to defend the Earth against hostile ETs."
- Also in the Stargate franchise, the NID takes on the same function but with a more aggressive, less scrupulous and eventually illegal approach. Its successor, The Trust, is even worse.
- This is an important part of Torchwood's charter, in both Torchwood and Doctor Who. Unofficial motto: "If It's Alien, It's Ours." They have a nasty tendency to forget their other priorities (like the bit about defending the realm), in fact.
- In The Librarian trilogy of TV movies, the Metropolitan Library is an Artifact Collection Agency. This is continued in The Librarians series, except the Librarians are no longer headquartered in New York, preferring to use the Annex in Portland, Oregon.
- Super Sentai:
- GoGo Sentai Boukenger has multiple collection agencies: The Search Guard Successor Foundation, and various antagonist groups known as the Negative Syndicates.
- Its adaptation, Power Rangers Operation Overdrive, is similar; though the characters here are only interested in one specific set of artifacts, the Corona Aurora and its jewels, and only pursue other artifacts when they can give clues to the jewels' locations.
- The Adventure Zone: The Bureau of Balance, a secret organization of which the main characters are members, has put itself in charge of recovering and destroying the seven Grand Relics, which are malevolent and extremely powerful magical artifacts.
- Edict One of Edict Zero Fis lapses into this territory due to their need to collect the Paradox Artifacts. It's very necessary, as not only are some of said Paradox Artifacts extremely dangerous weapons, (A revolver with Bottomless Magazines, a Summoning Artifact, a bomb that inverts gravity) but they are literal glitches in reality that infectiously corrupt the world.
- In Shadowrun, the Mystic Crusaders organization acquires ancient magic items and artifacts for the Atlantean Foundation.
- Hunter: The Vigil has the Aegis Kai Doru, who collect artifacts to use against supernaturals.
- The GURPS setting Warehouse 23. Also, the Curator and her aide, Mr. Portent, from a GURPS Magic Items 3 vignette. (She's an homage to the Monitor from DC Comics.)
- In the Ravenloft setting, the Guardians are a monastic order dedicated to collecting the various evil and/or cursed artifacts which abound in that world, and locking them away so they can't harm innocent people. Unusual in that they don't lock piles of them in one place, knowing this would only be dangling an irresistible lure in front of the Land's numerous villains; rather, each monastery of Guardians watches over a single powerful object.
- Exile III's Cult of the Sacred Item.
- Merchants in every role playing game ever. Whether they sell them to the player or buy the goods, these people see many of the most dangerous artifacts in existence.
- The Moebius Foundation in the Starcraft II: Wings of Liberty single player campaign. Their mission is to collect a set of Xel'Naga artifacts, and they hire Raynor's Raiders to do the legwork. However, the Moebius Foundation is really a front organization set up by the emperor's son, Valerian Mengsk.
- The Adventures of Massmouth: The interstellar magnate The Worm employs his own agents, to provide new acquisitions for his collection. They are supplied with equipment and comfortable quarters, and the Worm maintains a spaceport for them to fly out on retrieval missions.
- World of Warcraft's two main factions as well as the Pandaren have one each: the Explorer's League is a mostly Dwarven organization dedicated to collecting and displaying Titan relics while the Reliquary is a Blood Elven group who seeks to make practical use of these same relics with less regard for their purely historical worth. The Pandaren Lorewalkers mostly focus on collecting relics of the lost history of the races of Pandaria, particularly the Pandaren themselves and their former oppressors, the Mogu.
- Deadfall Adventures: The agency for which Jenny and Professor Jacobs work, which is seeking the "Heart of Atlantis", employing James Lee Quatermain to help them.
- Control: The eponymous Federal Bureau of Control is tasked with dealing with supernatural events, vast majority of which involve items that have gained extranormal properites. As such, their office is basically an enormous storehouse of magical objects.
- The Elder Scrolls V: Skyrim mentions the Cynod, an order of mages from Cyrodiil. NPC dialogue and in the lorebooks suggests they might be doing it in preparation for the next war. There are several NPCs in the game (such as General Tullius, just to pick one) who mention point-of-fact bluntly that another "Great War" between the Aldmeri Dominion and the Empire is expected by both sides. And, both sides are doing what they can to strengthen themselves and weaken the other side in preparation for it. Thus, the Synod's actions in trying to gather powerful magic artifacts plays right into the notion of the Empire trying to prepare themselves for this war.
- In the Trails Series, one of the Septian Church's duties involves collecting artifacts from the ancient Zemurians and keeping them from the hands of those who would misuse them (particularly Ouroboros).
- The Repository of Dangerous Things.
- RCSI in Code Name: Hunter is described as having this as one of its duties
- Although to be fair we hardly see any sort of artifact except for a cursed drum set and a smoking wooden box
- The Crossoverlord's The Armoury of Apocalyptic Objects, an armoury stocked with devices that can literally destroy entire (or even multiple) universes.
- The Corbettite monastic order in Girl Genius. They also run a railway network across Europa.
- SCP Foundation:
- The Foundation is a worldwide organization supported by multiple governments. It collects artifacts to study them, to protect humans from the artifacts, and to protect normalcy, meaning that they keep secret the existence of even the most harmless of artifacts in order to keep the world ignorant of the existence of the paranormal.
- Several others that compete with the SCP foundation also exist, such as Marshall, Carter, and Dark Ltd. who uses the artifacts as ways to provide "unique experiences" to the world's super rich, and the Global Occult Coalition, who seek to destroy paranormal items not under their control.
- The Last Stage, from Nat One Productions, has The Detachment — a secret government organization that tracks down spooky objects and creatures.
- Museums. (Minus their artifacts having Applied Phlebotinum properties of course. Museum pieces can nevertheless be unique or in other ways extremely valuable.) Although the museums subvert the trope insofar that, additionally to preserving and studying their stuff, they put it (at least their most interesting or awesome pieces, if their collection is too huge) on display for everyone to come and have a good look at it.
- A variant for living artifacts would be zoos, particularly if there's anything rare and endangered there.