ቴክኖሎጂ¶
ClimWeb በየእለቱ የድር ጣቢያ አስተዳደር ተግባራቸው፣ መረጃ እና አገልግሎቶችን ለተጠቃሚዎቻቸው ለማቅረብ ኤንኤምኤችኤስዎችን ለመደገፍ የታለሙ መሳሪያዎችን እና ተግባራትን ያካትታል።
ይህ ክፍል የቴክኖሎጂ ምርጫን, የልማት አቀራረብን ለማቅረብ እና በ ClimWeb ላይ የሚገኙትን ተግባራዊነት የሚደግፉ ጥቅሎችን በከፍተኛ ደረጃ ለማቅረብ ይፈልጋል.
የተሻሻለው ClimWeb ክፍት ምንጭ ነው እና በ GitHub በhttps://github.com/wmo-raf/nmhs-cms ላይ ይስተናገዳል።
ቤዝ ClimWeb Framework¶
የድረ-ገጹ አብነት በክፍት ምንጭ Wagtail መዋቅር ላይ ተገንብቷል። Wagtail እራሱ የተገነባው በ Django ላይ ነው፣ይህም ፈጣን እድገትን የሚያበረታታ እና ንፁህ፣ተግባራዊ ንድፍ የሚያበረታታ ከፍተኛ ደረጃ ያለው የፓይዘን ድር ማዕቀፍ ነው።

ዋግቴልን እንደ ምርጫ ማዕቀፍ ሲመርጡ የሚከተለው ግምት ውስጥ ገብቷል፡-
Python እንደ የፕሮግራም ቋንቋ። የአየር ሁኔታ እና የአየር ንብረት ክልል ከሳይንሳዊ መረጃ ጋር ብዙ መስተጋብር ይፈልጋል። ፓይዘን እንደዚህ አይነት መረጃን ለመቆጣጠር ሂደቶችን ለማዘጋጀት ቀላል ከሚያደርጉት የስክሪፕት ቋንቋዎች አንዱ ነው። ፓይዘንን በመጠቀም ድህረ ገጽን ማዳበር በመረጃ ላይ የተመሰረቱ ተግባራትን ለማዳበር ምቹነትን ያስችላል
ለመጠቀም ቀላል: ከዋግቴል ቁልፍ ባህሪያቶች አንዱ የሚታወቅ፣ ለተጠቃሚ ምቹ የሆነ በይነገጽ ነው። ይህ የይዘት አርታኢዎች የስር ማዕቀፍን ውስብስብ እና ቴክኒኮችን መማር ሳያስፈልጋቸው ድር ጣቢያዎችን እንዲያስተዳድሩ ቀላል ያደርገዋል።
ተለዋዋጭነት፡ Wagtail ድረ-ገጾችን ለመፍጠር እና ለማስተዳደር ሲመጣ ተለዋዋጭ ነው። ውስብስብ አቀማመጦች፣ ይዘቶች እና ባህሪያት ያሏቸው የይዘት አርታዒዎች በሚፈልጉት ላይ በመመስረት በከፍተኛ ደረጃ የተበጁ ድረ-ገጾችን በፍጥነት ለማዳበር ያስችላል።
** Extensibility:** Wagtail በተለያዩ ፕለጊኖች፣ ገጽታዎች፣ ክፍሎች እና ሌሎች ባህሪያት በቀላሉ እንዲራዘም ተደርጎ የተሰራ ነው። ይህ አዳዲስ ባህሪያትን ለመጨመር, የድረ-ገጻቸውን ገጽታ እና ስሜት ለማበጀት እና የ ClimWebን ተግባራዊነት ለማራዘም ያስችላል.
ደህንነት፡ Wagtail የተነደፈው ደህንነትን ከግምት ውስጥ በማስገባት ነው። ከDjango አብሮገነብ የደህንነት ባህሪያት እንደ የተጠቃሚ ማረጋገጥ፣ የግብአት ማረጋገጫ እና ከተለመዱት የጥቃት ዘዴዎች ጥበቃ ጋር አብሮ ይመጣል።
** መጠነ-ሰፊነት፡** በጃንጎ ላይ የተመሰረተ በመሆኑ Wagtail በጣም ሊሰፋ የሚችል እንዲሆን የተነደፈ ሲሆን ይህም ከፍተኛ መጠን ያለው ይዘት እና ተጠቃሚዎች ላላቸው ድረ-ገጾች ተመራጭ ያደርገዋል። ያለ ምንም የአፈጻጸም ችግር ከፍተኛ መጠን ያለው ውሂብ ማስተናገድ ይችላል፣ ይህም ገንቢዎች የተጠቃሚ መሰረታቸው እየጨመረ ሲሄድ የሚያድጉ ድረ-ገጾችን እንዲፈጥሩ ያስችላቸዋል።
የኢንተርፕራይዝ ባህሪያት ከሳጥኑ ውጪ: Wagtail የተጠቃሚ እና የቡድን ፈቃዶችን፣ የይዘት እና የአወያይ የስራ ፍሰቶችን፣ ሪፖርቶችን፣ የይዘት አርትዖት ታሪክን መከታተል እና ሌሎች የድር ጣቢያ አስተዳዳሪዎች እና ቡድኖች የሚያስፈልጋቸውን ባህሪያት ያካትታል።
የልማት ቡድን ልምድ፡ አሁን ያለው የNMHSs ClimWeb የልማት ቡድን ዋግቴል እና ጃንጎን መሰረት ያደረጉ ፕሮጀክቶችን በማዘጋጀት ረገድ ሰፊ ልምድ አለው። ይህ አዲስ ባህሪያትን እና ተግባራትን ተግባራዊ ለማድረግ ፈጣን ያደርገዋል
የልማት አቀራረብ¶
የባህሪያትን ስብስብ እና ተግባራዊነት ለማቅረብ የDjango/Wagtail ሞጁል አካሄድን እንጠቀማለን። Django/Wagtail መተግበሪያ የተወሰኑ ባህሪያትን የሚያቀርብ የፓይዘን ጥቅል ነው። ማመልከቻዎች በተለያዩ ፕሮጀክቶች ውስጥ እንደገና ጥቅም ላይ ሊውሉ ይችላሉ.
አፕሊኬሽኖች አንዳንድ የጃንጎ ሞዴሎች፣ እይታዎች፣ አብነቶች፣ የአብነት መለያዎች፣ የማይንቀሳቀሱ ፋይሎች፣ ዩአርኤልኤስ፣ ሚድዌር ወዘተ ውህዶችን ያካትታሉ። እነዚህም በ INSTALLED_APPS ቅንጅቶች ወደ ፕሮጀክቱ ይጣመራሉ። አፕሊኬሽኑ በዚህ አውድ ከተለያዩ የማዕቀፍ ክፍሎች ጋር የሚገናኝ የኮድ ስብስብ ነው።
NMHS ClimWeb የተነደፈው ለተግባራዊው ድረ-ገጽ የተለያዩ ድረ-ገጾች ተግባራትን በሚሰጡ የውስጥ መተግበሪያዎች ስብስብ ነው። እነዚህ የተደራጁት በ ClimWeb ምንጭ ኮድ የገጾች ማውጫ ስር ነው። እያንዳንዱ የገጾቹ ንዑስ ማውጫ የዚያ ክፍል አንድ ወይም ከዚያ በላይ ተዛማጅ ገጾችን ለመፍጠር ከሚፈቅድ በድር ጣቢያው ላይ ካለው ክፍል ጋር ይዛመዳል።
በኮድ ፕሮጄክት ውስጥ ሊሰካ የሚችል እንደ ውጫዊ የWagtail መተግበሪያዎች የበለጠ ልዩ ተግባር ተዘጋጅቷል። እነዚህም በ Python Package Index (PyPI) ላይ የታተሙ እንደ Python ፓኬጆች ተጭነዋል፣ እሱም ለፓይዘን ፕሮግራሚንግ ቋንቋ የሶፍትዌር ማከማቻ ነው።
የተግባር ጥቅሎች¶
CAP Composer: በCAP የተቀረጹ ማንቂያዎችን ለመፍጠር እና ለማተም ተግባራዊነትን የሚያቀርብ የጋራ ማንቂያ ፕሮቶኮል (ሲኤፒ) ማቀናበር እና ማተም መሳሪያ።
ትንበያ አስተዳዳሪ - የኤንኤምኤችኤስ ከተማ ትንበያዎችን ለማስተዳደር በይነገጽ
GeoManager - የጂኦ-ማጣቀሻ (ጂአይኤስ) የውሂብ ስብስቦችን ለማስተዳደር እና ለማተም በይነተገናኝ በይነገጽ ያቀርባል
የአስተዳደር ወሰን አስተዳዳሪ: ለአንድ ሀገር ድንበሮችን ለመጫን፣ ለማስተዳደር እና ለማየት ተግባርን ይሰጣል።
WebStories Editor - [Google ድር ታሪኮችን] ለመፍጠር እና ለማተም ተግባር ያቀርባል(https://creators.google/en-us/content-creation-products/own-your-content/web-stories/)
የዳሰሳ ጥናቶች ፈጣሪ - የዳሰሳ ጥናቶችን በቀጥታ በClimWeb ውስጥ ለመፍጠር እና ለማተም፣ በይነተገናኝ ግራፊክስ በመጠቀም የውጤቶቹን ምስላዊ እና ትንታኔ ለመስጠት ተግባር ይሰጣል።
የሶስተኛ ወገን መሳሪያዎች ውህደት ፓኬጆች¶
የኢሜል ግብይት¶
Mailchimp ውህደት፡ Mailchimp ከዋግቴል ፕሮጀክቶች ጋር አዋህድ።
Mautic Integration: የMautic ውህደት በዋግቴል ፕሮጀክቶች።
የመስመር ላይ ስብሰባዎች¶
ውህደትን አጉላ፡ ያዋህዱ አጉላ ክስተቶች (ስብሰባዎች ወይም ዌብናሮች) በWagtail የተፈጠሩ ገፆችን ለመመስረት ይመዝገቡ።
የተጠቃሚ በይነገጽ ማዕቀፎች እና ቤተ መጻሕፍት¶
አብነት - በጃንጎ ላይ የተመሠረቱ አብነቶች
የሲኤስኤስ መዋቅር - ቡልማ
JavaScript Library - JQuery
የድር ካርታ ስራ ላይብረሪ - MapLibre GL JS
የኤስቪጂ አዶ ምንጮች - ፊደል ግሩም፣ Ocha Humanitarian Icons
አዲስ ተግባር ማዳበር¶
በ ClimWeb ውስጥ የሚካተት አዲስ ተግባር ሲፈጠር ሞዱል አካሄድ ጥቅም ላይ ይውላል። አዲሱ ተግባር እንደ ዋግቴል ፓይዘን ፓኬጅ ለብቻው መጎልበት እና ፒፕን በመጠቀም ለመጫን በPyPi ላይ መታተም አለበት።
በአጠቃላይ የሚከተሉትን ደረጃዎች እንከተላለን.
በWagtail/Django ማህበረሰብ ውስጥ ያሉ ተመሳሳይ ተግባራትን የሚሰጡ ጥቅሎችን ያስሱ።
አንድ ነባር ፓኬጅ ካለ እና በቀጥታ ወደ ClimWeb ሊጣመር የማይችል ከሆነ፣ በዚህ ፓኬጅ ላይ የቻልነውን ያህል ለማበጀት እንሞክራለን። አለበለዚያ እኛ በቀጥታ እንጠቀማለን
ያሉትን ፓኬጆች ማግኘት ካልቻልን ጥቅሉን ከባዶ እናዳብራለን። ሀሳቡ በተቻለ መጠን የመንኮራኩሩን እንደገና መፈጠርን ማስወገድ ነው።
የምርት ማሰማራት¶
Docker የClimWebን የተለያዩ ክፍሎች ወደ መያዣ ለማስገባት ይጠቅማል።
ጥቅም ላይ የዋሉ ሌሎች መያዣዎች ያካትታሉ
PostgreSQL በPostGIS ቅጥያ እንደ ዳታቤዝ
[Nginx] (https://hub.docker.com/_/nginx) እንደ የድር አገልጋይ እና የድር ፕሮክሲ
መሸጎጥ እንደ የድር ጥያቄዎች መሸጎጫ ሥርዓት
Eclipse Mosquitto እንደ MQTT መልእክት ደላላ። በዋናነት ለ CAP ማንቂያዎች መላላኪያ ጥቅም ላይ ይውላል
እነዚህ Docker Compose ን በመጠቀም ፕሮጀክቱን ለማሰማራት ጥቅም ላይ የሚውለው ወደ ዶከር አዘጋጅ ማዋቀር ፋይል ነው።
ሁሉንም የተለያዩ አካላት ወደ አንድ ፕሮጀክት የሚያሰባስብ የማስጀመሪያ ማከማቻ ቀርቧል። ይህ በhttps://github.com/wmo-raf/nmhs-cms-init ላይ ማግኘት ይቻላል። የመጫኛ መመሪያ በማጠራቀሚያው README ፋይል ውስጥ ቀርቧል።
ዝመናዎችን ማስተዳደር¶
አዲስ የተለቀቁ የሳንካ ጥገናዎች እና የባህሪ ማሻሻያ በየጊዜው በnmhs-cms ማከማቻ ልቀቶች ላይ ይታተማሉ።
አዲስ ልቀት ሲኖር የClimWeb Admin በይነገጽ አዲስ ልቀት እንዳለ የሚያመለክት መልዕክት ያሳያል። የድረ-ገጹ አስተዳዳሪ ከእያንዳንዱ ልቀት ጋር ተያይዞ የሚለቀቁትን ማስታወሻዎች ካለፉ በኋላ ወደ አዲሱ ስሪት ለማሻሻል መምረጥ ይችላል።
ማሻሻያው በአዲሶቹ ስሪቶች የመትከያ ግንባታ ሂደትን በሚያነቃቃ ቁልፍ ጠቅታ ነው። አዲሱ ስሪት በተሳካ ሁኔታ ከተገነባ በኋላ መያዣው በአዲሱ ስሪት እንደገና ይጀምራል.

አልፎ አልፎ አውቶማቲክ የግንባታ ማስጀመሪያው ካልተሳካ፣ የስርዓት አስተዳዳሪዎች ማሻሻያውን በእጅ እንዲሰሩ የሰለጠኑ ናቸው።
ደህንነት በጃንጎ/ዋግቴል¶
ClimWeb፣ Django/Wagtailን በመጠቀም፣ ከሳጥኑ ውስጥ አብሮ የተሰሩ የሚከተሉትን የደህንነት ባህሪያት ይዟል። በእያንዳንዱ ባህሪ ላይ ተጨማሪ ዝርዝሮች በ [https://docs.djangoproject.com/en/5.0/topics/security] (https://docs.djangoproject.com/en/5.0/topics/security/) ላይ ይገኛሉ።
የጣቢያ ስክሪፕት (XSS) ጥበቃ
የመስቀለኛ ቦታ ጥያቄ የውሸት (CSRF) ጥበቃ
SQL መርፌ ጥበቃ
የጠቅታ ጥበቃ
SSL\HTTPS ጥበቃ ቅንብሮች
የአስተናጋጅ ራስጌ ማረጋገጫ
የማጣቀሻ ፖሊሲ ጥበቃ
ተሻጋሪ መክፈቻ ፖሊሲ
የክፍለ ጊዜ ደህንነት
በተጠቃሚ የተጫነ የይዘት ጥበቃ
ClimWeb የተወሰኑ የደህንነት ባህሪያት፡-¶
የአስተዳዳሪ ዩአርኤልን በየጊዜው የመቀየር ችሎታ
ዕለታዊ የመጠባበቂያ ዘዴዎች
በጉልበት የመግባት መከላከያ
ለአስተዳዳሪ መለያ 2 የምክንያት ማረጋገጫ