Code Monkey home page Code Monkey logo

pubid-cen's Introduction

JIS publication identifiers ("CEN PubID")

Purpose

This gem implements a mechanism to parse and utilize CEN publication identifiers.

Use cases to support

  1. generate updated PubID

Usage

Identifier creation

Basic usage of the pubid-cen gem starts with the Identifier#create method.

require "pubid-cen"

pubid = Pubid::Cen::Identifier.create(number: 1234, part: 1, year: 1999)
pubid.to_s

=> "EN 1234-1:1999"

pubid-cen's People

Contributors

camobap avatar mico avatar opoudjis avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pubid-cen's Issues

Parse ISO / IEC adoptions

CEN / CENELEC often adopts ISO or IEC standards.

EN ISO 14090:2019
EN ISO 17292
EN ISO 17292:2004
EN IEC 62115:2020 
EN IEC 62368-1:2020
EN IEC 55014-2:2021 

Implement EN stage codes

From: https://experts.cen.eu/media/Experts/cen-clc_projex-online_user-guide.pdf

Stage-code Description
00.60.0000 Completion of Proposal/Preliminary stage
10.98.0000 Decision on WI proposal - Reject
10.99.0000 Decision on WI proposal - Accept
20.60.0979 Circulation of 1st Working Document
30.97.0009 End of interruption of work - split/merge
30.98.0009 End of interruption of work - abandoned
30.99.0979 Dispatch of ENQ draft to CCMC
40.20.0000 Submission to enquiry
40.60.0000 Closure of enquiry
40.97.0009 End of interruption of work - split/merge
40.98.0009 End of interruption of work - abandoned
43.20.0000 Submission to COCOR
43.60.0000 Closure of COCOR
45.97.0009 End of interruption of work - split/merge
45.98.0009 End of interruption of work - abandoned
45.99.0979 Dispatch of FV draft to CCMC
50.20.0000 Submission to Vote
50.60.0000 Closure of Vote
50.97.0009 End of interruption of work - split/merge
50.98.0009 End of interruption of work - abandoned
60.55.0000 Ratification completed (DOR)
60.60.0000 Definitive text made available (DAV)
65.31.0000 Announcement (DOA)
65.51.0000 Completion of mandatory publication (DOP)
65.62.0000 Completion of withdrawal of conflicting national standards (DOW)
90.00.0000 Start of review/2 Year Review Enquiry
90.20.0000 Submission to 2 Year Review Enquiry
90.60.0000 Closure of 2 Year Review Enquiry
90.92.0000 Decision on results of review/2YR ENQ - revise
90.93.0000 Decision on results of review/2YR ENQ - confirm
90.98.0000 Decision on results of review/2YR ENQ - withdraw
96.60.0009 End of re-activation of work
99.60.0000 Withdrawal effective

Parse EN / CEN / CLC identifiers

  • EN = "European Norm" (which means European Standard).
  • CEN = Center for European Normalization (the equivalent of ISO in the EU)
  • CLC = European Committee for Electrotechnical Standardization (the equivalent of IEC in the EU)

Both CEN and CLC publish documents in their prefixes, e.g.:

  • By CEN only:
    • CEN/TR 17833:2022
    • CEN/TS 17638:2021
  • By CLC only:
    • CLC/TR 62125:2008
    • CLC/TS 50701:2021
  • Copublished:
    • CEN/CLC/TR 17602-80-12:2021
    • CEN/CLC/TS 17880:2022

ENs are published by one of 3 organizations: CEN, CLC, and ETSI.

CEN and CLC can publish ENs:

  • EN 16602-60-15:2014
  • EN 17355:2020
CEN Guide 15
CEN Guide 414:2014
CEN Guide 414:2017
CLC GUIDE 1:2022
CEN-CLC Guide 32:2016
CEN/CLC Guide 25:2023
CEN/CLC Guide 28:2014
CEN/CLC Guide 34:2021
CEN/CLC/TR 17602-80-12:2021
CEN/CLC/TS 17880:2022
CEN/TR 16411:2022
CEN/TR 17654:2021 
CEN/TR 17833:2022
CEN/TS 14972
CEN/TS 17638:2021
CLC/TR 62125:2008
CLC/TS 50701:2021
EN 1177:2008
EN 1177:2018
EN 12464-1:2011
EN 13501-1:2018
EN 14885:2018
EN 15038
EN 16602-60-15:2014
EN 17355:2020
EN 196-3:2016
EN 228
EN 228:2008
EN 455-2:2015

Dependencies between gems unusable

The dependencies tree between pubid gems is making them unusable. Right now:

  • I consume all of pubid-cen, pubid-iso, pubid-iec in the same stack
  • I am supposed to test a pubid-iec PR, which is anchored to pubid-core 1.12
  • The latest pubid-iso is anchored to pubid-core 1.8.6
  • The latest pubid-cen is anchored to pubid-core 1.8.0
  • The current relaton-iso release is anchored to pubid-core 1.8.6 (since it names the version of pubid-iso as 0.6.0)

This means it is impossible for me to do anything with the pubid-iec PR, without recompiling and removing the dependencies for pubid-iso, pubid-cen, and relaton-iso

Releases need to be anchored to a single gem's versions, which is updated whenever a pubid version is updated; this is what the relaton stack does with relaton-cli. Any major version updates are ONLY exposed to the outside world through relaton-cli, and whenever there is a minor version update in a child relaton gem, the minor version of relaton-cli is updated as well.

This may be the intent behind pubid-core, but it is not clear to me that this is happening; and @andrew2net and I are using pubid-core 1.8, which was last updated start of October: we have no idea about the updates to pubid-core since.

So you need to:

(a) notify us when a minor version of pubid-core changes, so that both of us can update our dependencies
(b) ensure that minor versions of pubid-* are synchronised with pubid-core, if they are not already

Parse Amendments and Corrigenda

EN 196-3:2005+A1:2008
EN 527­2:2016+A1:2019
EN 60335-1:2012/A1
EN 60335-1:2012/A14
EN 60335-1:2012/A15
EN 60335-1:2012/A2:2019
EN 60335-1:2012/AC:2014
EN IEC 62368-1:2020+A11:2020 

There are 3 types of documents here:

  • /A1 means the document is "Amendment 1"
  • /AC means the document is "Corrigendum 1".
  • +A1 means this document incorporates "Amendment 1".

Parse prEN and FprEN documents

prEN means "draft EN".

prEN 12464-1:2019
prEN 13241-1
prEN 13241-1:2013
prEN 14885:2020
prEN 15038:2004
prEN 16942:2016

FprEN means "final draft EN".

FprEN 16114:2011
FprEN 16798-3
FprEN 50600‑2‑4 

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.