Wyniki wyszukiwania dla frazy:

Wyświetl wyniki dla:

Wyniki: 685

Sortowanie:

Połączenia do usługi sieciowej SIO-KReM

Data ostatniej aktualizacji: 19.01.2024 Instrukcja połączenia do usługi sieciowej SIO-KReM na środowisku produkcyjnym Spis treści: 1. System SIO-Krem 4 2. Wykorzystane technologie i standardy przy tworzeniu serwera usług sieciowych 6 3. Dodanie klienta usługi sieciowej w aplikacji SIO-KReM 7 4. Uwierzytelnianie: 12 5. Podpis elektroniczny: 13 5.1 Algorytm podpisywania wiadomości 14 6. Interfejsy: 16 6.1 GetStudentResultSet 16 7. Dodatkowe uwagi do zapytań SOAP 19 8. Przykładowa klasa JAVA do obsługi kluczy RSA SHA512: 19 9. Przykładowa klasa JAVA do obsługi kluczy OpenPGP: 22 System SIO-Krem Aplikacja SIO-KREM jest częścią SIO (Systemu Informacji Oświatowej) i jest przeznaczona do wsparcia procesu rekrutacji kandydatów na uczelnie wyższe poprzez udostępnienie wyników egzaminów maturalnych oraz innych związanych z tym informacji uczelniom, które posiadają aktywny dostęp do SIO i podadzą PESEL kandydata. Podstawą prawną działania aplikacji SIO-KREM jest art. 62 ustawy o SIO (pozyskiwanie danych przez uczelnie). Do bazy danych SIO-KREM mają dostęp uczelnie publiczne, niepubliczne i kościelne zarejestrowane w bazie danych SIO z typem podmiotu S001 id = 142, 145, 162, które posiadają aktywny dostęp do SIO. W bazie danych SIO-KREM znajdują się informacje o wynikach zdanego egzaminu maturalnego poszczególnych osób (w przyszłości również wyniki egzaminu zawodowego lub egzaminu potwierdzającego kwalifikacje w zawodzie). Wyniki egzaminów przekazywane są przez OKE do SIO-KREM na podstawie art. 20 ustawy o SIO. Na informacje o kandydacie składają się dane o: procentowych wynikach z poszczególnych egzaminów maturalnych wskazanie centyla, w którym dany wynik się znajduje lista numerów dokumentów wydanych danemu kandydatów informację o ukończonej szkole Zalogowana uczelnia ma możliwość zarejestrowania PESEL kandydata - wpisanego ręcznie lub zaimportowanego z pliku. Aplikacja przyjmuje jedynie PESELe o poprawnej strukturze oraz informuje jakie PESELe z załączonego pliku są błędne (tj. mają nieprawidłową strukturę). Po zarejestrowaniu danych na liście kandydatów danej uczelni uczelnia ma możliwość pobrania plików csv z danymi: wyników numerów dokumentów centyli szkół Pliki podzielone są na pliki z: nowymi danymi - czyli takie dane, które nigdy nie były pobrane przez dany podmiot z danego zakresu aktualizacjami danych - czyli takie dane, które już były pobrane a w międzyczasie do bazy danych SIO-KReM wpłynęła aktualizacja danych wszystkimi danymi - czyli pełen komplet danych z danego zakresu plik z brakami - czyli lista PESELi, dla których nie ma danych Do bazy danych SIO-KREM zostają przesłane dane maturzystów, którzy w deklaracji przystąpienia do matury wyrazili zgodę na przekazywanie danych do KReM. W przypadku, gdy kandydat wycofa zgodę na przekazywanie danych do SIO-KREM w aplikacji zostaną usunięte dane o wynikach ucznia oraz zostaje zaktualizowany plik z wycofanymi zgodami. Uczelnie mogą przeglądać listę kandydatów i zakładać filtry na wyszukiwanie danych oraz pobierać pliki z danymi dla wyszukanej grupy kandydatów. Aplikacja SIO-KREM prowadzi również rejestr/historię wysłanych i pobranych z SIO-KReM plików. Dane w SIO-KREM są przechowywane w bazie danych bezterminowo. Z SIO-KREM można również pobrać słownik arkuszy egzaminacyjnych, słownik szkół oraz słownik olimpiad. Wykorzystane technologie i standardy przy tworzeniu serwera usług sieciowych System SIO-KReM udostępnia usługi sieciowe pod adresem https://krem1.sio.gov.pl/ws. Adres pliku WSDL specyfikującego interfejs usług sieciowych to https://krem1.sio.gov.pl/ws?wsdl. Serwer usług sieciowych został napisany zgodnie ze standardami SOAP (Simple Object Access Protocol). Obsługuje ̨ wersje protokołu SOAP 1.1 [SOAP] i SOAP 1.2 [SOAP1.2]. Do opisu interfejsu został wykorzystany standard WSDL (Web Services Description Language) [WSDL]. Cała komunikacja z serwerem usług sieciowych jest szyfrowana za pomocą TLS/SSL (jest jednostronna adres https://krem1.sio.gov.pl/ws podpisany jest zaufanym certyfikatem) [RFC2246] Uwierzytelnianie klienta jest przeprowadzane poprzez identyfikator i hasło (ustawiane poprzez interfejs systemu SIO-KReM) zgodnie ze standardem WS-Security [UTP]. Do podpisywania komunikatów użyty został standard RSA-SHA512 [RFC8332] i OpenPGP [RFC2440] Dodanie klienta usługi sieciowej w aplikacji SIO-KReM Aby skonfigurować połączenie systemu uczelni do usługi SIO-KReM należy zalogować się do aplikacji SIO-KReM dostępnej pod adresem https://krem.sio.gov.pl   Użytkownik po zalogowaniu wybiera Ustawienia Systemowe w menu bocznym. Po kliknięciu pojawi się okno do konfiguracji połączenia: Rysunek 1 Okno Konfiguracji połączenia Użytkownik w module Dane systemu wypełnia dane wymagane do połączenia między usługą SIO-KreM a systemem uczelni (wszystkie pola są wymagane) tj. : Imię; Nazwisko; Adres e-mail; Numer telefonu; Identyfikator/Login adres IP - adres serwera z którego będzie wysyłane zapytanie do usługi SIO-KReM. Hasło; Powtórzenie hasła; Klucz publiczny systemu uczelni - wymagany format PEM (zawierający header 'BEGIN PGP PUBLIC KEY BLOCK' lub 'BEGIN PUBLIC KEY' w zależności od wybranego rodzaju klucza). Preferujemy klucz RSA od PGP. Rysunek 2 Dane systemu Po uzupełnieniu wszystkich pól, użytkownik zatwierdza konfigurację przyciskiem Zapisz. System poinformuje o pomyślnej konfiguracji. W oknie po prawej stronie klucza publicznego systemu uczelni wyświetli się wygenerowany klucz publiczny usługi SIO-KReM oraz daty ważności obydwu kluczy. Widok konfiguracji klucza RSA: Rysunek Konfiguracja połączenia z kluczem RSA W przypadku klucza PGP dodatkowo wyświetlą się pola zawierające odciski palca obydwu kluczy. Widok konfiguracji klucza PGP: Rysunek Konfiguracja połączenia z kluczem PGP Dostęp do usługi SIO-KReM (https://krem1.sio.gov.pl/ws ) będzie aktywny maksymalnie po 5 minutach. Jeżeli użytkownik chce edytować dane połączenia, wybiera Modyfikuj umieszczony w prawym górnym rogu. Rysunek 5 Modyfikacja połączenia Uwierzytelnianie: Uwierzytelnianie klientów usług sieciowych odbywa się podobnie, jak w przypadku stron internetowych, czyli poprzez identyfikator i hasło. Informacje te umieszczane są wewnątrz nagłówka wiadomości SOAP, czyli <Header>, w elemencie <Security>. Identyfikator i hasło są opakowane w element <UsernameToken>, który posiada dwa podelementy: <Username> zawierający identyfikator klienta oraz <Password> zawierający hasło. Dodatkowo element <Password> może zawierać atrybut Type, który określa typ przesyłanego hasła. Są dwie możliwości: PasswordText hasło przesyłane jest zwykłym tekstem, PasswordDigest hasło przesyłane jest w postaci skrótu (ang. digest). Jeśli żaden atrybut nie został podany, to domyślnie obowiązuje typ PasswordText. Usługa SIO-KReM akceptuje obie te możliwości, choć zalecane jest przesyłanie hasła w postaci skrótu (w przypadku usługi SIO-KReM musi on zostać wykonany funkcją MD5). Wszystkie elementy muszą być w przestrzeni nazw WS-Security [UTP]. Oto przykład poprawnego nagłówka zawierającego identyfikator user i skrót hasła password wykonany funkcją MD5: <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss- wssecurity-secext-1.0.xsd"> <wsse:UsernameToken> <wsse:Username> user </wsse:Username> <wsse:Password Type="#PasswordDigest"> c62d929e7b7e7b6165923a5dfc60cb56 </wsse:Password> </wsse:UsernameToken>   Podpis elektroniczny: W każdej poprawnej wiadomości SOAP przesyłanej od klienta do serwera lub w odwrotną stronę, musi się̨ znaleźć podpis elektroniczny całego elementu <Body>. Musi być on umieszczony, wewnątrz nagłówka <Security>, w specjalnym elemencie <Signature> (w przypadku użycia prostego klucza RSA) lub <PGPSignature> (w przypadku użycia klucza OpenPGP). Aby utworzyć poprawny podpis elektroniczny zaakceptowany przez system SIO-KReM należy użyć dwóch standardów: Exclusive XML Canonicalization [xml-exc-c14n] oraz jeden ze standardów: RSA-SHA512 [RFC8332] lub OpenPGP [RFC2440]. Pierwszy służy do sprowadzenia dokumentu XML do postaci kanonicznej, natomiast drugi jest używany do wygenerowania podpisu (odłączonego, ang. detached) na postaci kanonicznej odpowiedniej struktury XML (w naszym przypadku elementu <Body>). Konieczność użycia algorytmu sprowadzania do postaci kanonicznej wynika z faktu, że dwa logicznie takie same dokumenty XML mogą̨ się̨ trochę różnić tekstowo (np. inną kolejnością atrybutów, niewypisywaniem atrybutów domyślnych, nadmiarowymi spacjami, sposobem umieszczania informacji o przestrzeniach nazw, różnym traktowaniem znaku końca wiersza itp.) i wtedy mogłoby dojść do niezamierzonej, niepoprawnej weryfikacji podpisu. Dlatego by być pewnym, że do podpisu i weryfikacji będziemy używali tego samego dokumentu, konieczne jest przed wykonaniem tych operacji, przekształcenie dokumentu XML do postaci kanonicznej. Algorytm ten jest elementem standardu XML Signature [XMLDSig] Algorytm podpisywania wiadomości Poniżej został przedstawiony dokładny algorytm podpisywania wiadomości wymienianych z serwerem usług sieciowych systemu SIO-KReM: Identyfikacja elementu <Body> w dokumencie, Wykonanie algorytmu kanonizacji na elemencie <Body> wraz zawartością, Stworzenie podpisu odłączonego na wyniku kanonizacji (z użyciem RSA SHA512), Zakodowanie wartości podpisu w postaci Base64 [RFC2045], Stworzenie wewnątrz nagłówka <Security> (zgodnego ze standardem WS-Security) pod-elementu <Signature> (lub <PGPSignature> w przypadku OpenPGP), który będzie zawierał wartość podpisu (w postaci Base64), Umieszczenie wewnątrz elementu <Signature> (lub <PGPSignature> w przypadku OpenPGP) wartości wcześniej wygenerowanego podpisu. Proces weryfikacji wygląda następująco: Identyfikacja nagłówka <Security> wraz z podelementem <Signature> (lub <PGPSignature> w przypadku OpenPGP), Identyfikacja elementu <Body> w dokumencie, Wykonanie algorytmu kanonizacji na elemencie <Body> wraz zawartością, Odkodowanie wartości podpisu umieszczonego wewnątrz elementu <Signature> z postaci Base64 do binarnej, Weryfikacja czy wartość podpisu (w formacie binarnym) odpowiada podpisowi skanonizowanej postaci elementu <Body> stworzonego przez nadawcę. Każde zapytanie wysyłane do serwera usług sieciowych systemu SIO-KReM musi zostać podpisane kluczem prywatnym administratora (Uczelni), który jest zarejestrowany w systemie SIO-KREM. Każda odpowiedź odsyłana przez usługę SIO-KReM jest podpisywana kluczem prywatnym systemu (klucz publiczny usługi do weryfikacji wiadomości udostępniony jest w systemie SIO-KREM w zakładce administracyjnej systemu uczelni). Podany kod jest przykładem poprawnie podpisanego pliku. Jest to zapytanie dla funkcji GetStudentResultSet podpisane omówionym algorytmem (odpowiednio sformatowane by byłe bardziej czytelne). Zapytanie zawiera także nagłówek autoryzacyjny, w którym identyfikatorem administratora jest user, a hasłem password. <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Header> <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401- wss-wssecurity-secext-1.0.xsd"> <wsse:UsernameToken> <wsse:Username>user</wsse:Username> <wsse:Password>password</wsse:Password> </wsse:UsernameToken> <siokrem:Signature xmlns:siokrem="https://krem1.sio.gov.pl"> iEYEABE...hsv7y </siokrem:Signature> </wsse:Security> </S:Header> <S:Body> <GetStudentResultSet xmlns="https://krem1.sio.gov.pl "> <pesel>860911xxxxx</pesel> </GetStudentResultSet> </S:Body> </S:Envelope> Interfejsy: GetStudentResultSet Pobranie wyników wielu maturzystów. Parametry lista struktura zawierających numery PESEL maturzystów. Wynik ogólny kod zakończenia funkcji (kod sukcesu lub informacja o błędzie) i lista struktur (dokładnie tyle ile numerów PESEL było w zapytaniu) zawierająca wynik wykonania funkcji (kod sukcesu lub błędu) i oceny maturzysty (w przypadku gdy ocen nie ma w bazie lub zapytanie dla tego maturzysty zakończyło się innym błędem, zbiór ocen jest pusty). Przykładowe zapytanie: <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://krem1.sio.gov.pl"> <SOAP-ENV:Header> <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401- wss-wssecurity-secext-1.0.xsd"> <wsse:UsernameToken> <wsse:Username>user_uni</wsse:Username> <wsse:Password Type="#PasswordDigest"> 5f4dcc3b5aa765d61d8327deb882cf99 </wsse:Password> </wsse:UsernameToken> <ns1:Signature> iD8DBQBG...HVMhBkJ8xI= </ns1:Signature> </wsse:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <ns1:GetStudentResultSet> <ns1:pesel>111111xxxxx</ns1:pesel> <ns1:pesel>881212xxxxx</ns1:pesel> <ns1:pesel>881224xxxxx</ns1:pesel> </ns1:GetStudentResultSet> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Przykładowa odpowiedź: <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://krem.uw.edu.pl"> <SOAP-ENV:Header> <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401- wss-wssecurity-secext-1.0.xsd" SOAP-ENV:mustUnderstand="1"> <ns1:PGPSignature> iD8DBQBG...JxsOT8= </ns1:PGPSignature> </wsse:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <ns1:GetStudentResultSetResponse> <ns1:responseCode>0</ns1:responseCode> <ns1:response> <ns1:errorCode>12</ns1:errorCode> <ns1:studentResult> <ns1:pesel>111111xxxxx</ns1:pesel> <ns1:results/> </ns1:studentResult> </ns1:response> <ns1:response> <ns1:errorCode>11</ns1:errorCode> <ns1:studentResult> <ns1:pesel>881212xxxxx</ns1:pesel> <ns1:results/> </ns1:studentResult> </ns1:response> <ns1:response> <ns1:errorCode>0</ns1:errorCode> <ns1:studentResult> <ns1:pesel>881224xxxxxx</ns1:pesel> <ns1:results> <ns1:exam> <ns1:code>PO_u_N_p_082</ns1:code> <ns1:points>30</ns1:points> </ns1:exam> <ns1:exam> <ns1:code>PO_p_P_p_082</ns1:code> <ns1:points>40</ns1:points> </ns1:exam> <ns1:exam> <ns1:code>PO_p_R_p_082</ns1:code> <ns1:points>30</ns1:points> </ns1:exam> </ns1:results> </ns1:studentResult> </ns1:response> </ns1:GetStudentResultSetResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Kody błędu (errorCode): ('RESULT_OK',0) ('RESULT_ERROR_WRONG_PESEL_NO',12) ('RESULT_ERROR_NO_DATA',11) ('RESULT_ERROR_WRONG_MARK',25) ('RESULT_PESEL_WITHDRAWN',41) ('RESULT_UNKNOWN_PESEL',43) Dodatkowe uwagi do zapytań SOAP Ze względów wydajnościowych, w usłudze SIO-KReM będzie ustalony limit określający ile danych różnych maturzystów może znajdować się w jednym zapytaniu (i odpowiedzi SOAP). Obecnie limit wynosi 1000, czyli np. zapytanie dodające 800 wyników maturzystów wykona sį prawidłowo, natomiast prośba o pobranie 2000 maturzystów zakończy się błędem. Gdy klient chce wykonać operacje dla większej ilości danych, to musi wykonać kilka razy tę samą funkcję, w każdym wywołaniu podając inne parametry. Przykładowa klasa JAVA do obsługi kluczy RSA SHA512: package pl.men.utils.common; import java.io.DataInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.StringWriter; import java.security.InvalidKeyException; import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.NoSuchAlgorithmException; import java.security.PrivateKey; import java.security.PublicKey; import java.security.Signature; import java.security.SignatureException; import java.security.interfaces.RSAPrivateKey; import java.security.spec.EncodedKeySpec; import java.security.spec.InvalidKeySpecException; import java.security.spec.PKCS8EncodedKeySpec; import java.security.spec.X509EncodedKeySpec; import java.util.Base64;   import org.bouncycastle.openssl.jcajce.JcaPEMWriter;   import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec;   public class Cryptography { private static final String PUBLIC_KEY_PATH = "sciezka_do_pliku.pub"; private static final String PRIVATE_KEY_PATH = "sciezka_do_pliku.key"; private static final String SIG_ALG = "SHA512withRSA"; private static final String KEY_ALG = "HmacSHA512";   public static byte[] generateSignature (String content) throws NoSuchAlgorithmException, InvalidKeyException, SignatureException, InvalidKeySpecException, IOException { Signature sign = Signature.getInstance(SIG_ALG); PrivateKey privateKey = readPrivateKeyFromFile(); sign.initSign(privateKey); byte[] bytes = content.getBytes(); sign.update(bytes);   return sign.sign(); } public static boolean verifySignature (String publicKey, String content, byte[] signature) throws NoSuchAlgorithmException, InvalidKeyException, SignatureException, InvalidKeySpecException, IOException { Signature sign = Signature.getInstance(SIG_ALG); sign.initVerify(readPublicKeyFromString(publicKey)); sign.update(content.getBytes()); return sign.verify(signature); }   public static void generateKeyPair() throws NoSuchAlgorithmException, IOException { KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("RSA"); keyPairGen.initialize(2048); KeyPair pair = keyPairGen.generateKeyPair(); saveKeyPairToFiles(pair); }   private static PublicKey readPublicKeyFromString(String publicKey) throws IOException, NoSuchAlgorithmException, InvalidKeySpecException { publicKey = publicKey.replace("-----BEGIN PUBLIC KEY-----", "").replace("-----END PUBLIC KEY-----", "").replaceAll(System.lineSeparator(), "").replaceAll(" ", "").replaceAll("\\s+",""); byte[] publicKeyBytes = Base64.getDecoder().decode(publicKey); KeyFactory keyFactory = KeyFactory.getInstance("RSA"); EncodedKeySpec publicKeySpec = new X509EncodedKeySpec(publicKeyBytes); return keyFactory.generatePublic(publicKeySpec); } private static PublicKey readPublicKeyFromFile() throws IOException, NoSuchAlgorithmException, InvalidKeySpecException { File file = new File(PUBLIC_KEY_PATH); DataInputStream dis = new DataInputStream(new FileInputStream(file)); byte[] pubKeyBytes = new byte[(int) file.length()]; dis.read(pubKeyBytes); dis.close();   KeyFactory factory = KeyFactory.getInstance("RSA"); EncodedKeySpec publicKeySpec = new X509EncodedKeySpec(pubKeyBytes); return factory.generatePublic(publicKeySpec); }   private static PrivateKey readPrivateKeyFromFile() throws IOException, NoSuchAlgorithmException, InvalidKeySpecException { File file = new File(PRIVATE_KEY_PATH); DataInputStream dis = new DataInputStream(new FileInputStream(file)); byte[] privKeyBytes = new byte[(int) file.length()]; dis.read(privKeyBytes); dis.close();   KeyFactory factory = KeyFactory.getInstance("RSA"); PKCS8EncodedKeySpec privKeySpec = new PKCS8EncodedKeySpec(privKeyBytes); return (RSAPrivateKey) factory.generatePrivate(privKeySpec); } private static void saveKeyPairToFiles(KeyPair pair) throws IOException { FileOutputStream fos = new FileOutputStream(PUBLIC_KEY_PATH); fos.write(pair.getPublic().getEncoded()); fos.close();   FileOutputStream out = new FileOutputStream(PRIVATE_KEY_PATH); out.write(pair.getPrivate().getEncoded()); out.close(); } public static String mapPublicKeyToString(PublicKey key) { StringWriter sw = new StringWriter(); JcaPEMWriter writer = new JcaPEMWriter(sw); try { writer.writeObject(key); writer.close(); } catch (IOException e) { e.printStackTrace(); } return sw.getBuffer().toString(); }   public static String getStringHash(String message, String secret) throws InvalidKeyException, NoSuchAlgorithmException { Mac hmacSHA512 = Mac.getInstance(KEY_ALG); SecretKeySpec secretKey = new SecretKeySpec(secret.getBytes(), KEY_ALG); hmacSHA512.init(secretKey); return org.apache.commons.codec.binary.Base64.encodeBase64String(hmacSHA512.doFinal(message.getBytes())); } } Przykładowa klasa JAVA do obsługi kluczy OpenPGP: package pl.men.utils.common; import org.bouncycastle.bcpg.BCPGOutputStream; import org.bouncycastle.jce.provider.BouncyCastleProvider; import org.bouncycastle.openpgp.*; import org.bouncycastle.util.encoders.Hex; import java.io.*; import java.security.NoSuchAlgorithmException; import java.security.NoSuchProviderException; import java.security.Security; import java.security.SignatureException; import java.util.Iterator; public class Cryptography { private static final String PGP_SECRET_KEY_RING_PATH = "keys/secring.gpg"; private static final String PGP_PROVIDER = "BC"; private static final int PGP_BUFFER_SIZE = 1024; public static PGPSecretKey readPGPSecretKey(InputStream privateKeyRingInputStream, String publicKeyFingerprint) throws IOException, PGPException { Security.addProvider(new BouncyCastleProvider()); PGPUtil.setDefaultProvider(PGP_PROVIDER); privateKeyRingInputStream = PGPUtil.getDecoderStream(privateKeyRingInputStream); PGPSecretKeyRingCollection secretRingCollection = new PGPSecretKeyRingCollection(privateKeyRingInputStream); PGPSecretKey secretKey = null; Iterator<PGPSecretKeyRing> secretKeyRingCollectionIterator = secretRingCollection.getKeyRings(); while (secretKey == null && secretKeyRingCollectionIterator.hasNext()) { PGPSecretKeyRing secretKeyRing = secretKeyRingCollectionIterator.next(); Iterator<PGPSecretKey> secretKeyRingIterator = secretKeyRing.getSecretKeys(); while (secretKey == null && secretKeyRingIterator.hasNext()) { PGPSecretKey currentSecretKey = secretKeyRingIterator.next(); PGPPublicKey currentPublicKey = currentSecretKey.getPublicKey(); String keyFingerprint = new String(Hex.encode(currentPublicKey.getFingerprint())); if (currentSecretKey.isSigningKey() && keyFingerprint.equalsIgnoreCase(publicKeyFingerprint)) { secretKey = currentSecretKey; } } } if (secretKey == null) { throw new IllegalArgumentException("Can't find signing key with fingerprint: (" + publicKeyFingerprint + ") in key ring."); } return secretKey; } public static PGPPublicKey readPGPPublicKey(InputStream publicKeyRingInputStream, String publicKeyFingerprint) throws IOException, PGPException { Security.addProvider(new BouncyCastleProvider()); PGPUtil.setDefaultProvider(PGP_PROVIDER); PGPPublicKey publicKey = null; PGPPublicKeyRingCollection publicKeyRingCollection = new PGPPublicKeyRingCollection(PGPUtil.getDecoderStream(publicKeyRingInputStream)); Iterator<PGPPublicKeyRing> publicKeyRingIterator = publicKeyRingCollection.getKeyRings(); while (publicKey == null && publicKeyRingIterator.hasNext()) { PGPPublicKeyRing publicKeyRing = publicKeyRingIterator.next(); Iterator<PGPPublicKey> publicKeyIterator = publicKeyRing.getPublicKeys(); while (publicKey == null && publicKeyIterator.hasNext()) { PGPPublicKey currentPublicKey = publicKeyIterator.next(); String keyFingerprint = new String(Hex.encode(currentPublicKey.getFingerprint())); if (keyFingerprint.equalsIgnoreCase(publicKeyFingerprint)) { publicKey = currentPublicKey; } } } if (publicKey == null) { throw new IllegalArgumentException("Can't find signing key with fingerprint: (" + publicKeyFingerprint + ") in public key ring."); } return publicKey; } public static PGPPublicKey readPGPPublicKey(String armoredKeyString, String publicKeyFingerprint) throws IOException, PGPException { Security.addProvider(new BouncyCastleProvider()); PGPUtil.setDefaultProvider(PGP_PROVIDER); PGPPublicKey publicKey = null; PGPPublicKeyRingCollection publicKeyRingCollection; try (InputStream publicKeyRingInputStream = new ByteArrayInputStream(armoredKeyString.getBytes())) { publicKeyRingCollection = new PGPPublicKeyRingCollection(PGPUtil.getDecoderStream(publicKeyRingInputStream)); } Iterator<PGPPublicKeyRing> publicKeyRingIterator = publicKeyRingCollection.getKeyRings(); while (publicKey == null && publicKeyRingIterator.hasNext()) { PGPPublicKeyRing publicKeyRing = publicKeyRingIterator.next(); Iterator<PGPPublicKey> publicKeyIterator = publicKeyRing.getPublicKeys(); while (publicKey == null && publicKeyIterator.hasNext()) { PGPPublicKey currentPublicKey = publicKeyIterator.next(); String keyFingerprint = new String(Hex.encode(currentPublicKey.getFingerprint())); if (keyFingerprint.equalsIgnoreCase(publicKeyFingerprint)) { publicKey = currentPublicKey; } } } return publicKey; } public static byte[] generatePGPSignature(String content, String publicKeyFingerprint, String secretKeyPassword) throws IOException, NoSuchAlgorithmException, NoSuchProviderException, PGPException, SignatureException { String propPath = System.getenv("environment.MulePropPath"); FileInputStream secretKeyRingInputStream= new FileInputStream(propPath + PGP_SECRET_KEY_RING_PATH); ByteArrayInputStream dataInputStream = new ByteArrayInputStream(content.getBytes()); ByteArrayOutputStream signatureOutputStream = new ByteArrayOutputStream(); PGPSecretKey mySecretKey = readPGPSecretKey(secretKeyRingInputStream, publicKeyFingerprint); PGPPrivateKey myPrivateKey = mySecretKey.extractPrivateKey(secretKeyPassword.toCharArray(), PGP_PROVIDER); PGPSignatureGenerator signatureGenerator = new PGPSignatureGenerator(mySecretKey.getPublicKey().getAlgorithm(), PGPUtil.SHA1, PGP_PROVIDER); signatureGenerator.initSign(PGPSignature.BINARY_DOCUMENT, myPrivateKey); BCPGOutputStream bcpgOutputStream = new BCPGOutputStream(signatureOutputStream); int bufferSize = PGP_BUFFER_SIZE; byte[] bytes = new byte[bufferSize]; int length; while ((length = dataInputStream.read(bytes,0,bufferSize)) > 0) { signatureGenerator.update(bytes,0,length); } signatureGenerator.generate().encode(bcpgOutputStream); signatureOutputStream.close(); return signatureOutputStream.toByteArray(); } public static boolean verifyPGPSignature(String publicKeyString, String publicKeyFingerprint, String content, byte[] signatureByteArray) throws Exception { ByteArrayInputStream dataInputStream = new ByteArrayInputStream(content.getBytes()); ByteArrayInputStream signatureInputStream = new ByteArrayInputStream(signatureByteArray); PGPObjectFactory factory = new PGPObjectFactory(PGPUtil.getDecoderStream(signatureInputStream)); PGPSignatureList signatureList; Object object = factory.nextObject(); if (object instanceof PGPCompressedData) { PGPCompressedData compressedData = (PGPCompressedData) object; factory = new PGPObjectFactory(compressedData.getDataStream()); signatureList = (PGPSignatureList) factory.nextObject(); } else { signatureList = (PGPSignatureList) object; PGPSignature signature = signatureList.get(0); PGPPublicKey publicKey = readPGPPublicKey(publicKeyString, publicKeyFingerprint); signature.initVerify(publicKey, PGP_PROVIDER); int bufferSize = PGP_BUFFER_SIZE; byte[] bytes = new byte[bufferSize]; int length; while ((length = dataInputStream.read(bytes,0,bufferSize)) > 0) { signature.update(bytes,0,length); } return signature.verify(); } }

Rejestracja Organizacji Branżowych

Data ostatniej aktualizacji: 17.01.2024 Rejestracja Organizacji Branżowych możliwa jest z poziomu niektórych Ministerstw oraz Jednostek Samorządu Terytorialnego. W celu wykazania organizacji branżowej czy też zaznaczenia już przy istniejącym wpisie np. Stowarzyszenia, że jest organizacją branżową w systemie SIO, w panelu z lewej strony aplikacji należy wybrać moduł Organy prowadzące inne niż JST/Minister oraz Organizacje Branżowe: Następnie kliknąć przycisk DODAJ, otworzy się formularz, który pozwoli zarejestrować nowy wpis. UWAGA: nie ma osobnego typu organizacja branżowa. Przy rejestrowanym organie, który będzie pełnił rolę organizacji branżowej jest do zaznaczenia checbox Czy jest organizacją branżową: W otwartym formularzu rejestracyjnym należy wybrać typ organu, następnie należy uzupełnić numer REGON zaznaczyć checbox Czy jest organizacja branżową oraz dane teleadresowe. Nazwa i adres zostaną automatycznie pobrane z rejestru REGON. Pola oznaczone gwiazdką są wymagane. Kreator nie pozwoli zapisać formularza, jeśli wspomniane informacje nie zostaną wypełnione. Jeśli informacje na ekranie są właściwe, należy kliknąć przycisk ZAPISZ w prawym dolnym rogu aplikacji. Po zapisaniu formularza pojawi się komunikat OPERACJA ZAKOŃCZONA POMYŚLNIE. Wpis rejestrowanego Stowarzyszenia jako organizacji branżowej zostanie dodany do listy rejestru: W module Organy prowadzące inne niż JST/Minister oraz Organizacje Branżowe można wyszukać wpis, korzystając z filtrów dostępnych po prawej stronie aplikacji  należy wpisać np. Nazwę lub numer REGON organizacji lub wyszukać organizacje z danego województwa oraz z zaznaczeniem opcji Czy jest organizacją branżową? czy też Czy porozumienie organizacji branżowej z BCU i wybrać opcję WYSZUKAJ. Szukane dane pojawią się w głównym oknie systemu: Po wybraniu zarejestrowanego wpisu z listy, w szczegółach organu, który jest organizacją branżową po przejściu do zakładki LISTA PROWADZONYCH PLACÓWEK pojawi się lista BCU gdzie organ jest wykazany jako organ prowadzący te placówki: W zakładce LISTA BCU Z POROZUMIEŃ pojawią się BCU, z którymi organizacja branżowa ma podpisane porozumienia. UWAGA! Placówki będą widoczne na Liście porozumień po wpisaniu organizacji branżowej w formularzu rejestracji/modyfikacji BCU.

Rejestracja Branżowego Centrum Umiejętności

Data ostatniej aktualizacji: 16.01.2024 Rejestracja typu podmiotu Branżowe Centrum Umiejętności możliwa jest z poziomu niektórych Ministerstw oraz Jednostek Samorządu Terytorialnego: Gmina, Miasto na prawach powiatu, Powiat ziemski, Samorząd województwa. Aby dokonać rejestracji podmiotu Branżowe Centrum Umiejętności w pierwszej kolejności musi być zarejestrowany organ prowadzący z zaznaczoną rolą organizacji branżowej. W celu zarejestrowania Branżowego Centrum Umiejętności w systemie SIO, w panelu z lewej strony aplikacji należy wybrać moduł Podmiot, zakładkę Lista podmiotów, a następnie kliknąć przycisk DODAJ. Wyświetli się formularz do uzupełnienia. Większość pól znajdujących się na tym ekranie jest wymagana do wypełnienia formularza RG-1 dla Głównego Urzędu Statystycznego. Wymagane pola oznaczone są gwiazdką. W momencie wysłania wniosku do systemu centralnego, dane z formularza są przesyłane do GUS i tam zostają poddane weryfikacji. Jeśli podczas wypełniania formularza nie podano numeru REGON, zostanie uruchomiona procedura mająca na celu przyznanie szkole lub placówce oświatowej nowego numeru. W takiej sytuacji Urząd Statystyczny wydaje placówce wpisywanej do rejestru REGON odpowiednie zaświadczenie. Wypełnianie formularza rejestracji należy zacząć od wskazania typu podmiotu - Branżowe Centrum Umiejętności: Pozostałe pola wypełniamy zgodnie z dokumentacją. Zwrócić trzeba uwagę na wypełnienie pól: Sposób ewidencjonowania: W polu SPOSÓB EWIDENCJONOWANIA, należy wybrać PROWADZONA/ REJESTROWANA, czy wpisywany podmiot/placówka jest prowadzona przez jednostkę rejestrującą, czy jest przez nią jedynie rejestrowana do RSPO z powodu podległości terytorialnej. Poprzez placówki rejestrowane rozumiemy placówki publiczne, które są prowadzone przez inne organy niż JST w przypadku BCU przez organizacje branżowe. Przy podmiocie ze sposobem ewidencjonowania rejestrowana będzie do wypełnienia pole Dane podmiotu prowadzącego ze wskazaniem organizacji branżowej prowadzącej dany podmiot: Przy podmiocie ze sposobem ewidencjonowania prowadzona będzie do wypełnienia pole Dane o porozumieniu ze skazaniem organizacji branżowej, z którą jednostka rejestrująca podpisała porozumienie: Dziedzina: W opisie podmiotu BCU można wskazać tylko jedną dziedzinę np.: Administracja i archiwistyka Agroturystyka Architektura krajobrazu Automatyka przemysłowa Jeżeli BCU będzie filią (14 znakowy REGON i ten sam typ podmiotu nadrzędnego) to dziedzina musi być taka sama jak w jednostce macierzystej. Podmiotem nadrzędnym dla BCU może być również Zespół szkół i placówek oświatowych. Po wypełnieniu wszystkich danych w formularzu korzystamy z przycisku w prawym dolnym rogu ekranu ZAPISZ. Na dole ekranu pojawi się komunikat OPERACJA ZAKOŃCZONA POMYŚLNIE. Po zapisaniu danych wpis BCU pojawi się na liście podmiotów z komunikatem TRWA WERYFIKACJA GUS: Funkcja USUŃ dostępna w szczegółach podmiotu służy do usunięcia formularza placówki, która została ze względów formalnych jeszcze przed nadaniem REGON została ODRZUCONA PRZEZ GUS.

REGULAMIN KORZYSTANIA Z FORMULARZA KONTAKTOWEGO

Data ostatniej aktualizacji: 16.01.2024 REGULAMIN KORZYSTANIA Z FORMULARZA KONTAKTOWEGO I. Postanowienia ogólne Niniejszy Regulamin korzystania Użytkowników z formularza kontaktowego, zwany dalej Regulaminem, określa zasady nieodpłatnego korzystania przez Użytkowników z Formularza kontaktowego dostępnego na stronie internetowej https://pomoc.sio.gov.pl/formularz/ , w celu uzyskania odpowiedzi na pytanie/a w zakresie tematycznym nim objętym. II. Definicje Pojęcia użyte w niniejszym Regulaminie oznaczają: 1. Formularz kontaktowy formularz, w którym Użytkownicy Systemu Informacji Oświatowej zamieszczają niezbędne informacje i dane w celu wykonania realizacji przesłanego zgłoszenia. 2. Użytkownik osoba korzystająca z Formularza kontaktowego w zakresie przewidzianym niniejszym Regulaminem. 3. Administrator Minister Edukacji Narodowej powierzył przetwarzanie danych osobowych użytkowników SIO Centrum Informatycznemu Edukacji w Warszawie, adres: al. J. Ch. Szucha 25, 00-918 Warszawa. III. Określenie zasad dostępu Użytkowników do Formularza kontaktowego 1. Dostęp do Formularza kontaktowego nie jest uzależniony od spełnienia przez Użytkownika jakichkolwiek formalności, w szczególności dostęp ten nie wymaga od Użytkownika dokonania rejestracji oraz logowania. 2. Administrator zapewnia Użytkownikom nieodpłatny dostęp do Formularza kontaktowego na czas nieoznaczony. 3. Formularz kontaktowy służy wyłącznie do korespondencji związanej z działalnością Administratora, w zakresie tematycznym w nim określonym. IV. Warunki korzystania z Formularza kontaktowego SIO i zobowiązania Użytkownika 1. Celem skorzystania z Formularza kontaktowego Użytkownik dokonuje czynności, na które składają się: a. wypełnienie Formularza kontaktowego poprzez podanie obowiązkowo następujących danych i informacji: imię, nazwisko, adres e-mail, numer REGON, nazwa jednostki, kategoria i podkategoria zgłoszenia, temat oraz treść zgłoszenia. Dodatkowo Użytkownik może podać numer telefonu. b. potwierdzenie, że zapoznał się z treścią Regulaminu oraz że akceptuje wszystkie jego postanowienia, c. potwierdzenie, iż został poinformowany, że administratorem podanych danych osobowych jest Minister Edukacji Narodowej, d. potwierdzenie, że wyraża zgodę na przetwarzanie danych osobowych w celu przygotowania i przekazania odpowiedzi na zadane pytanie/a oraz ich usuwania zgodnie z określonymi zasadami, e. potwierdzenie chęci kontaktu poprzez naciśnięcie na link zawarty w Formularzu kontaktowym Wyślij zgłoszenie. 2. Użytkownik zobowiązany jest do korzystania z Formularza kontaktowego zgodnie z przepisami prawa, postanowieniami niniejszego Regulaminu oraz dobrymi obyczajami. 3. Użytkownik korzystający z formularza kontaktowego jest świadomy, że informacje w nim podane nie powinny zawierać danych wrażliwych/poufnych. 4. Użytkownik zobowiązuje się do niepodawania fałszywych danych osobowych, jak również do niepodawania danych osobowych innej osoby, bez jej pozwolenia, oraz do niepodawania adresu e-mail, którego nie jest właścicielem. Użytkownik ponosi wyłączną odpowiedzialność za treść podanych przez siebie danych, w tym również odpowiedzialność za ewentualne naruszenie praw osób trzecich. 5. Użytkownik zobowiązuje się do zapoznawania ze zmianami w niniejszym Regulaminie. V. Odpowiedzialność Centrum Informatycznego Edukacji, któremu Minister Edukacji Narodowej powierzył przetwarzanie danych osobowych użytkowników SIO 1.  Centrum Informatyczne Edukacji nie ponosi odpowiedzialności za decyzje Użytkownika podjęte w oparciu o informacje uzyskane w wyniku korzystania z informacji uzyskanych po wypełnieniu formularza kontaktowego. 2. Centrum Informatyczne Edukacji oświadcza, że wszystkie informacje uzyskane przez Użytkownika za pośrednictwem Formularza kontaktowego mają walor informacyjny. 3. Centrum Informatyczne Edukacji zobowiązuje się zapewnić dostępność strony internetowej https://pomoc.sio.gov.pl/ zgodnie z ustawą z dnia 4 kwietnia 2019 r. o dostępności cyfrowej stron internetowych i aplikacji mobilnych podmiotów publicznych. Oświadczenie w sprawie dostępności ma zastosowanie do strony internetowej https://pomoc.sio.gov.pl/. 4. Centrum Informatyczne Edukacji zastrzega sobie prawo do zmiany postanowień niniejszego Regulaminu w każdym czasie. Zmiany wchodzą w życie z chwilą umieszczenia treści zmienionego Regulaminu na stronie https://cie.gov.pl/system-informacji-oswiatowej/ Klauzula informacyjna o ochronie danych osobowych Zgodnie z art. 13 ust. 1 Ogólnego Rozporządzenia o Ochronie Danych (RODO) informujemy, że: administratorem danych osobowych osób zadających pytanie dotyczące SIO jest Minister Edukacji Narodowej. Minister Edukacji Narodowej powierzył przetwarzanie danych osobowych użytkowników SIO Centrum Informatycznemu Edukacji w Warszawie, adres: al. J. Ch. Szucha 25, 00-918 Warszawa; Centrum Informatyczne Edukacji wyznaczyło Inspektora Ochrony Danych, z którym mogą się Państwo kontaktować w sprawach przetwarzania Państwa danych osobowych za pośrednictwem poczty elektronicznej: inspektor@cie.gov.pl Centrum Informatyczne Edukacji  będzie przetwarzało Państwa dane osobowe w celu rozpatrzenia skargi lub wniosku. Państwa dane osobowe są przetwarzane na podstawie art. 6 ust. 1 lit. c) RODO, tj. przetwarzanie jest niezbędne do wypełnienia obowiązku prawnego ciążącego na administratorze wynikającego z ustawy z dnia 15 kwietnia 2011 r. o systemie informacji oświatowej; dane osobowe mogą być udostępnione innym uprawnionym podmiotom, na podstawie przepisów prawa, a także podmiotom, z którymi Centrum Informatyczne Edukacji zawarło umowę w związku z realizacją usług na rzecz Centrum Informatycznego Edukacji (np. kancelarią prawną, dostawcą oprogramowania, zewnętrznym audytorem); Centrum Informatyczne Edukacji nie zamierza przekazywać Państwa danych osobowych do państwa trzeciego lub organizacji międzynarodowej; przez okres przetwarzania Państwa danych, niezbędny do prawidłowego rozpatrzenia skargi lub wniosku przez Centrum Informatyczne Edukacji , mają Państwo prawo uzyskać kopię swoich danych osobowych w siedzibie Centrum Informatyczne Edukacji. Dodatkowo zgodnie z art. 13 ust. 2 RODO informujemy, że: przez okres przetwarzania Państwa danych, niezbędny do prawidłowego rozpatrzenia skargi lub wniosku przez Centrum Informatyczne Edukacji , przysługuje Państwu prawo dostępu do treści swoich danych, ich sprostowania lub ograniczenia przetwarzania, a także prawo do wniesienia skargi do organu nadzorczego; podanie danych osobowych jest obligatoryjne. Konsekwencją niepodania danych będzie brak możliwości zadania pytania dot. SIO; Centrum Informatyczne Edukacji nie podejmuje decyzji w sposób zautomatyzowany w oparciu o Państwa dane osobowe.

Rejestracja

Data ostatniej aktualizacji: 19.02.2024 Wynagrodzenia uzupełnia się dla następujących podstaw prawnych umów: umowy z formą zatrudnienia, dla których można rejestrować wynagrodzenia umowy o pracę na czas określony -zatrudnienie na podstawie art.15 ust.1-6 ustawy Prawo oświatowe umowa o pracę na czas określony -zatrudnienie na podstawie art. 10 ust. 9 Karty Nauczyciela umowa o pracę na czas nieokreślony -zatrudnienie na podstawie art.15 ust.1-6 ustawy Prawo oświatowe mianowanie uzupełnianie tygodniowego obowiązkowego wymiaru zajęć inna podstawa prawna świadczenia pracy umowa o pracę na czas określony zawarta na podstawie ustawy Karta Nauczyciela umowa o pracę na czas określony zawarta na podstawie ustawy Kodeks Pracy umowa o pracę na czas nieokreślony zawarta na podstawie ustawy Karta Nauczyciela umowa o pracę na czas nieokreślony zawarta na podstawie ustawy Kodeks Pracy umowa o pracę na czas określony zawarta na podstawie ustawy o pracownikach urzędów państwowych umowa o pracę na czas określony zawarta na podstawie ustawy o służbie cywilnej umowa o pracę na czas nieokreślony zawarta na podstawie ustawy o pracownikach urzędów państwowych umowa o pracę na czas nieokreślony zawarta na podstawie ustawy o służbie cywilnej umowa o pracę na czas określony zawarta w związku z art. 16 ustawy Prawo oświatowe umowa o pracę na czas nieokreślony zawarta w związku z art. 16 ustawy Prawo oświatowe umowa o pracę na czas określony zawarta w związku z art. 62 ust. 2 ustawy Prawo oświatowe umowa o pracę na czas nieokreślony zawarta w związku z art. 62 ust. 2 ustawy Prawo oświatowe Gromadzenie danych o wysokości wynagrodzenia w przypadku osób zatrudnionych w publicznych szkołach i placówkach oświatowych prowadzonych przez jednostki samorządu terytorialnego i ministrów w celu wykonania obowiązku wynikającego z przepisów ustawy o systemie informacji oświatowej. Aby dodać wynagrodzenie nauczyciela, należy wejść w moduł NAUCZYCIELE, który znajduje się po lewej stronie systemu, a następnie z listy rozwijalnej Lista nauczycieli wybrać danego nauczyciela. W zakładce Wynagrodzenia w polu Umowa należy wybrać tą, do której dane wynagrodzenie będzie wprowadzane. W polu Rok również należy wskazać odpowiedni, następnie kliknąć przycisk DODAJ. Otworzy się formularz do wypełnienia danych. W formularzu pojawiają się pola: Umowa pole wypełnione automatycznie danymi wcześniej wybranej w karcie wynagrodzeń umowy nauczyciela Rok sprawozdania do wyboru z rozwijalnej listy Typ sprawozdania do wyboru 2 opcje: Sprawozdanie za okres styczeń-sierpień sprawozdanie za okres 8 miesięcy od 1 stycznia do 31 sierpnia danego roku, Sprawozdanie za rok sprawozdanie za okres 12 miesięcy od 1 stycznia do 31 grudnia danego roku Składniki wynagrodzenia można wybrać następujące pozycje: Wynagrodzenia zasadnicze Dodatek za wysługę lat Dodatek motywacyjny Dodatek funkcyjny wynikający z pełnienia funkcji kierowniczej Dodatek funkcyjny opiekuna stażu Dodatek funkcyjny nauczyciela doradcy Dodatek funkcyjny nauczyciela konsultanta Dodatek za trudne i uciążliwe warunki pracy Dodatek specjalistyczny Dodatek za warunki pracy z tytułu wykonywania pracy za granicą Wynagrodzenie za godziny ponadwymiarowe Wynagrodzenie za godziny doraźnych zastępstw Dodatkowe wynagrodzenie za pracę w porze nocnej Wynagrodzenie za pracę w dniu wolnym od pracy Nagroda jubileuszowa Dodatkowe wynagrodzenie roczne Nagrody ze specjalnego funduszu nagród Odprawa emerytalna Odprawa rentowa Odprawa z tytułu przejścia na nauczycielskie świadczenie kompensacyjne Odprawy z tytułu rozwiązania stosunku pracy (art. 20 ust.2, art. 28 KN) Dodatek wiejski, o którym mowa w art.54 ust.5 KN Dodatek uzupełniający o którym mowa w art. 30a ust 3 KN Ekwiwalent pieniężny za okres niewykorzystanego urlopu, o którym mowa w art. 66 ust. 2 KN Wypłacone wynagrodzenie za czas urlopu wypoczynkowego Dodatek funkcyjny wychowawcy klasy w szkole Dodatek funkcyjny wychowawcy w przedszkolu Składniki, które można wykazywać po zamknięciu umowy to: Dodatkowe wynagrodzenie roczne Nagrody ze specjalnego funduszu nagród Odprawa emerytalna Odprawa rentowa Odprawa z tytułu przejścia na nauczycielskie świadczenie kompensacyjne Odprawy z tytułu rozwiązania stosunku pracy (art. 20 ust.2, art. 28 KN) Dodatek uzupełniający o którym mowa w art. 30a ust 3 KN Sumaryczna kwota wynagrodzenia to suma kwot danego składnika wynagrodzenia nauczyciela w całym okresie sprawozdawczym Po wprowadzeniu wszystkich składników wynagrodzenia nauczyciela formularz należy zapisać za pomocą przycisku  ZAPISZ. Po kliknięciu przycisku ZAPISZ pojawi się komunikat: Operacja zakończona pomyślnie. Wprowadzone dane pojawią się w karcie wynagrodzeń nauczyciela.

Powierzchnia terenów sportowych usunięcie

Data ostatniej aktualizacji: 22.02.2024 Istnieje możliwość usunięcia wprowadzonych danych. W tym celu należy kliknąć znak menu i wybrać opcję USUŃ Po wybraniu tej opcji pojawi się okno, w którym należy potwierdzić operację usunięcia: Po zatwierdzeniu informacji przyciskiem USUŃ pojawi się komunikat: Operacja zakończona pomyślnie Po wykonaniu operacji usuwane dane znikają z tabeli:

Powierzchnia terenów sportowych modyfikacja

Data ostatniej aktualizacji: 22.02.2024 Aby dokonać modyfikacji wprowadzonych wcześniej danych należy przy wybranym wpisie wejść w menu   i wybrać opcję MODYFIKUJ Modyfikacji podlegają pola: Rodzaj, Długość pola gry, Szerokość pola gry, Powierzchnia, oraz informacja do zaznaczenia Czy homologacja? W nowym oknie należy dokonać potrzebnych zmian: Po zmianie danych w formularzu należy go zapisać klikając w przycisk ZAPISZ znajdujący się w prawym dolnym rogu. Po zatwierdzeniu informacji pojawi się komunikat: Operacja zakończona pomyślnie Zmodyfikowany wpis zmieni swój zapis:

Powierzchnia terenów sportowych rejestracja

Data ostatniej aktualizacji: 22.02.2024 W panelu dotyczącym powierzchni terenów sportowych należy wykazać wszystkie istniejące w szkole/placówce obiekty sportowe, takie jak bieżnie, boiska do siatkówki, koszykówki, boiska wielozadaniowe, korty tenisowe itp. Ponadto należy podać szerokość i długość pola gry wskazanych obiektów oraz ich całkowitą powierzchnię. Należy również określić, czy obiekty sportowe posiadają homologację związku sportowego (checkbox do zaznaczenia) Uwaga! W przypadku boisk uniwersalnych/wielozadaniowych należy taki obiekt wpisać tylko raz (nie należy go dzielić na części składowe i opisywać odrębnie np. boiska do koszykówki i boiska do siatkówki). Aby wypełnić informacje dotyczące powierzchni terenów sportowych należy wejść w boczne menu i wybrać moduł Dane zbiorcze a następnie INFRASTRUKTURA i z podanych opcji wybrać zakładkę POWIERZCHNIA TERENÓW SPORTOWYCH  Widoczny rok 2019 zawiera wcześniej zapisane dane. Dane wg stanu na dzień 31 grudnia danego roku, można rejestrować od dnia 1 grudnia danego roku. Wprowadzanie danych do tabeli rozpoczyna się użyciem przycisku DODAJ Po wybraniu przycisk DODAJpojawi się okno, w którym należy uzupełnić dane: Rodzaj Czy homologacja? w zależności od wskazanego rodzaju terenu sportowego pojawi się do wypełnienia: Długość pola gry [m] Szerokość pola gry [m] Powierzchnia [m2] Wprowadzanie powierzchni terenów sportowych rozpoczyna się od wybrania Rodzaju. Z rozwijalnej listy dostępne są opcje: boiska do siatkówki boiska do siatkówki plażowej boiska do koszykówki boiska do piłki ręcznej korty tenisowe boiska do piłki nożnej boiska do hokeja na trawie bieżnie proste bieżnie okólne skocznie rzutnie inne urządzenia sportowe boiska uniwersalne/wielozadaniowe boiska do rugby boiska do baseballa/softballa Następnym krokiem jest wprowadzenie danych dotyczących długości, szerokości i powierzchni wybranego rodzaju terenu sportowego. Formularz należy zapisać używając przycisku ZAPISZ lub z funkcji ZAPISZ i DODAJ NASTĘPNY, aby kontynuować wprowadzanie danych. Po zatwierdzeniu informacji pojawi się komunikat: Operacja zakończona pomyślnie Wprowadzone dane pojawią się w oknie danych zbiorczych dotyczących powierzchni terenów sportowych:

Rejestracja

Data ostatniej aktualizacji: 23.02.2024 W tym formularzu należy wprowadzić informacje o wszystkich pomieszczeniach istniejących w szkole/placówce. W zespołach szkół, czy jednostkach złożonych dane dotyczące pomieszczeń wprowadzamy z ich poziomu. Dane dotyczące pomieszczeń wykazuje się w formie zbiorczej tzn. wybiera się rodzaj i funkcję pomieszczenia, wprowadza liczbę pomieszczeń tego samego rodzaju oraz ich łączną powierzchnię. Aby wypełnić informacje dotyczące pomieszczeń należy z bocznego menu, wybrać moduł Dane zbiorcze i zakładkę Infrastruktura, a następnie na górze strony kliknąć w POMIESZCZENIA. Widoczny rok 2019 zawiera wcześniej zapisane dane w placówce. Dane wg stanu na dzień 31 grudnia danego roku, można rejestrować od dnia 1 grudnia danego roku. Wprowadzanie danych do systemu rozpoczyna się użyciem przycisku DODAJ znajdującego się w prawym górnym rogu aplikacji. Po wejściu w przycisk DODAJ pojawi się okno, w którym należy uzupełnić dane: Rodzaj, Funkcje, Liczba pomieszczeń, Łączna powierzchnia w m2, Wprowadzanie pomieszczeń rozpoczyna się od wybrania Rodzaju pomieszczenia. Z rozwijalnej listy dostępne są opcje: biblioteka gabinet kuchnia i stołówka pomieszczenia do prowadzenia zajęć wychowania fizycznego pomieszczenie wielofunkcyjne pozostałe pomieszczenia pracownia do prowadzenia praktycznej nauki zawodów pracownia szkolna sala lekcyjna świetlica Następnym krokiem jest wprowadzenie danych dotyczących Funkcji pomieszczenia, z listy należy wybrać dostępną dla danego pomieszczenia funkcję. W przypadku pomieszczeń wielofunkcyjnych należy dodać do listy funkcji przynajmniej dwie funkcje z tego pola. Można dwukrotnie wprowadzić ten rodzaj pomieszczeń, jeśli funkcje określone w funkcji pomieszczenia będą się różnić. Na przykład raz wprowadzamy pomieszczenie wielofunkcyjne, dla którego określone funkcje to gabinet psychologa i gabinet pedagoga, zaś kolejny raz wprowadzamy pomieszczenie wielofunkcyjne, dla którego funkcje to pracownia komputerowa i pracownia językowa. Więcej niż raz można również wprowadzić rodzaj pomieszczenia: pomieszczenie do prowadzenia zajęć wychowania fizycznego, przy czym funkcje tych pomieszczeń muszą być różne (np. basen i sala gimnastyczna). Następnie należy określić liczbę pomieszczeń tego rodzaju oraz ich łączną powierzchnię. Formularz należy zapisać używając przycisku ZAPISZ lub z funkcji ZAPISZ i DODAJ NASTEPNY aby kontynuować wprowadzanie danych. Po zatwierdzeniu informacji pojawi się komunikat: Operacja zakończona pomyślnie  Wprowadzone dane podzielone na wybrane rodzaje pomieszczeń pojawią się w oknie danych zbiorczych dotyczących pomieszczeń:

Kopiowanie danych

Data ostatniej aktualizacji: 23.02.2024 Kopiowanie danych Aby rozpocząć kopiowanie danych dotyczących pomieszczeń w systemie SIO należy wejść w moduł Dane zbiorcze następnie Infrastruktura i  POMIESZCZENIA. Aby kopiowanie danych przebiegło prawidłowo, muszą one być uzupełnione w poprzednim formularzu Stan na 31 grudnia. Aby skopiować dane, należy wybrać rok z którego dane mają być skopiowane. Po wskazaniu roku szkolnego należy kliknąć przycisk KOPIUJ DANE. Po kliknięciu w opcję KOPIUJ DANE pojawi się okno z danymi wykazanymi na stan 31 grudnia poprzedniego roku kalendarzowego: Następnie należy skorzystać z funkcji WYŚLIJ, aby dane zaczytały się w formularzu. Skorzystanie z funkcji przenosi do formularza zakładki POMIESZCZENIA, w którym są uzupełnione dane za rok kalendarzowy, z którego będą kopiowane dane. Wybrane dane można usunąć przed skopiowaniem danych na następny rok, używając do tego funkcji oznaczonej X. Po wysłaniu danych wszystkie wpisy będą zaznaczone na zielono: Skopiowane dane są gotowe do modyfikacji, jeśli jest taka potrzeba. W celu zmiany danych należy skorzystać z opcji MODYFIKUJ: Modyfikacji podlega pola Rodzaj i Liczba. W ukazanym wpisie należy dokonać potrzebnych zmian, następnie formularz należy zapisać używając przycisku ZAPISZ. Po zatwierdzeniu informacji pojawi się komunikat: Operacja zakończona pomyślnie. Skopiowane dane z poprzedniego roku kalendarzowego jeśli zachodzi taka potrzeba można również usunąć, wybierając opcje USUŃ: Pojawi się dodatkowe okno, w którym należy potwierdzić chęć usunięcia danych. Po zatwierdzeniu przyciskiem USUŃ pojawi się komunikat: Operacja zakończona pomyślnie.