{"id":22281580,"url":"https://github.com/ipb-halle/molecularfaces","last_synced_at":"2025-07-28T20:31:04.327Z","repository":{"id":57730557,"uuid":"332697233","full_name":"ipb-halle/MolecularFaces","owner":"ipb-halle","description":"Java Server Faces UI components for chemistry and biochemistry","archived":false,"fork":false,"pushed_at":"2024-05-16T09:36:26.000Z","size":247,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-07-04T22:09:24.222Z","etag":null,"topics":["biochemistry","biology","chemical-structure","chemistry","genetics","javaserverfaces","jsf"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ipb-halle.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-01-25T09:40:01.000Z","updated_at":"2024-04-23T13:50:06.000Z","dependencies_parsed_at":"2024-04-22T10:44:36.599Z","dependency_job_id":"ffe8b716-75e9-405c-ae99-40f3d7aabcfe","html_url":"https://github.com/ipb-halle/MolecularFaces","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/ipb-halle/MolecularFaces","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipb-halle%2FMolecularFaces","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipb-halle%2FMolecularFaces/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipb-halle%2FMolecularFaces/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipb-halle%2FMolecularFaces/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ipb-halle","download_url":"https://codeload.github.com/ipb-halle/MolecularFaces/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipb-halle%2FMolecularFaces/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267580457,"owners_count":24110844,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-28T02:00:09.689Z","response_time":68,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["biochemistry","biology","chemical-structure","chemistry","genetics","javaserverfaces","jsf"],"created_at":"2024-12-03T16:19:27.831Z","updated_at":"2025-07-28T20:31:04.033Z","avatar_url":"https://github.com/ipb-halle.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MolecularFaces\n\n[![Javadoc](https://javadoc.io/badge2/de.ipb-halle/molecularfaces/javadoc.svg)](https://javadoc.io/doc/de.ipb-halle/molecularfaces)\n[![Maven Central](https://img.shields.io/maven-central/v/de.ipb-halle/molecularfaces)](https://mvnrepository.com/artifact/de.ipb-halle/molecularfaces/latest)\n[![Sonatype Nexus (Snapshots)](https://img.shields.io/nexus/s/de.ipb-halle/molecularfaces?server=https%3A%2F%2Fs01.oss.sonatype.org)](https://s01.oss.sonatype.org/content/repositories/snapshots/de/ipb-halle/molecularfaces/)\n[![Maven Build](https://github.com/ipb-halle/MolecularFaces/actions/workflows/maven-deploy-to-ossrh.yml/badge.svg)](https://github.com/ipb-halle/MolecularFaces/actions/workflows/maven-deploy-to-ossrh.yml)\n[![Maven dependency check](https://github.com/ipb-halle/MolecularFaces/actions/workflows/maven-dependency-check.yml/badge.svg)](https://github.com/ipb-halle/MolecularFaces/actions/workflows/maven-dependency-check.yml)\n\nMolecularFaces is a collection of reusable UI components for Java Server Faces (JSF) featuring input and output plugins, validators and converters for chemistry and biochemistry data. It is a spin-off project of [CRIMSy (Cloud Resource \u0026 Information Management System)](https://github.com/ipb-halle/CRIMSy).\n\n## [UI library for chemistry](docs/chemistry.md)\n\n## [UI library for biology and biochemistry](docs/bio.md)\n\n## Maven coordinates\n\nThe artifacts are available on Maven Central. To include MolecularFaces into your JSF project, add the following dependency to your project's pom.xml:\n\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003ede.ipb-halle\u003c/groupId\u003e\n  \u003cartifactId\u003emolecularfaces\u003c/artifactId\u003e\n  \u003cversion\u003e0.4.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\nVersion 1.0.0 and above require JakartaEE. Use versions 0.x.y for JavaEE 7 projects. Snapshots can be included via\n\n```xml\n\u003crepository\u003e\n  \u003cid\u003esnapshots-repo\u003c/id\u003e\n  \u003curl\u003ehttps://s01.oss.sonatype.org/content/repositories/snapshots/\u003c/url\u003e\n  \u003creleases\u003e\u003cenabled\u003efalse\u003c/enabled\u003e\u003c/releases\u003e\n  \u003csnapshots\u003e\u003cenabled\u003etrue\u003c/enabled\u003e\u003c/snapshots\u003e\n\u003c/repository\u003e\n...\n\u003cdependency\u003e\n  \u003cgroupId\u003ede.ipb-halle\u003c/groupId\u003e\n  \u003cartifactId\u003emolecularfaces\u003c/artifactId\u003e\n  \u003cversion\u003e0.5.0-SNAPSHOT\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n## Usage\n\n### XML Namespace\n\n```xml\nxmlns:mol=\"http://github.com/ipb-halle/MolecularFaces\"\n```\n\n### Usage example\n\nJSF view:\n\n```xml\n\u003c?xml version='1.0' encoding='UTF-8' ?\u003e\n\u003c!DOCTYPE html\u003e\n\u003chtml xmlns=\"http://www.w3.org/1999/xhtml\"\n  xmlns:h=\"http://xmlns.jcp.org/jsf/html\"\n  xmlns:mol=\"http://github.com/ipb-halle/MolecularFaces\"\u003e\n  \u003ch:head\u003e\n    \u003ctitle\u003eMolecularFaces\u003c/title\u003e\n  \u003c/h:head\u003e\n  \u003ch:body\u003e\n    \u003ch:form\u003e\n      \u003cmol:molecule value=\"#{myBean.structure}\" pluginType=\"OpenChemLibJS\" /\u003e\n      \u003cbr /\u003e\n      \u003cmol:openVectorEditor value=\"#{myBean.sequence}\" /\u003e\n    \u003c/h:form\u003e\n  \u003c/h:body\u003e\n\u003c/html\u003e\n```\n\nJSF backing bean:\n\n```Java\n@Named\n@RequestScoped\npublic class MyBean {\n\n// structure in MDL Molfile V2000 format\nprivate String structure = \"\";\n\n// DNA/RNA sequence in JSON format\nprivate String sequence = \"\";\n\n// getters/setters\n...\n}\n```\n\n### Configuring resources via web.xml\n\nMolecularFaces tries to include as much resources (JavaScript, CSS, images) of the third-party plugins in its jar as possible and loads them when required. Alternatively, you can configure the URL of the resources (relative to the application's context root) via a `context-param` in your project's web.xml.\n\nExample:\n\n```xml\n\u003ccontext-param\u003e\n  \u003cparam-name\u003ede.ipb-halle.molecularfaces.OPENCHEMLIBJS_URL\u003c/param-name\u003e\n  \u003cparam-value\u003eopenchemlib-full.js\u003c/param-value\u003e\n\u003c/context-param\u003e\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fipb-halle%2Fmolecularfaces","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fipb-halle%2Fmolecularfaces","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fipb-halle%2Fmolecularfaces/lists"}