NextTypes เป็น ที่เก็บข้อมูลตามมาตรฐานการจัดเก็บข้อมูลการประมวลผลและระบบส่งกำลัง ที่รวมคุณสมบัติของระบบอื่น ๆ เช่นฐานข้อมูลภาษาการเขียนโปรแกรมโปรโตคอลการสื่อสารระบบไฟล์ผู้จัดการเอกสารระบบปฏิบัติการเฟรมเวิร์กรูปแบบไฟล์และฮาร์ดแวร์
การใช้งานอ้างอิงถูกตั้งโปรแกรมใน Java 17 และใช้ตัวจัดการฐานข้อมูล PostgreSQL 15 มีการแจกจ่ายภายใต้ใบอนุญาต Apache 2.0 ในไฟล์สงครามที่ติดตั้งได้ง่าย ในการทดสอบอินเทอร์เฟซซอฟต์แวร์ (ในโหมดอ่านอย่างเดียว) โดยไม่ต้องติดตั้งคุณสามารถสำรวจเว็บไซต์โครงการซึ่งพัฒนาขึ้นโดยใช้ซอฟต์แวร์ดังกล่าว ในเมนูทางด้านซ้ายในส่วน "แผงควบคุม" และในปุ่มที่ด้านบน/ขวาของหน้าคุณจะพบการกระทำที่มีอยู่
NextTypes รวมประเภทข้อมูล postgreSQL ดั้งเดิมเช่นตัวเลขข้อความไบนารีวันที่ JSON หรือ XML แม้ว่าจะให้ชื่อที่แตกต่างกันเพื่อทำให้ระบบการตั้งชื่อง่ายขึ้นและอำนวยความสะดวกในการรวมเข้ากับระบบอื่น ๆ ตัวอย่างเช่นแทนที่จะใช้ "smallint", "จำนวนเต็ม" และ "bigint" รูท "int" ตามด้วยจำนวนบิต (int16, int32 และ int64) ถูกใช้หรือแทนที่จะเป็น "ตัวละครที่แตกต่างกัน" หรือ "varchar"
นอกจากนี้ยังเพิ่มข้อมูลประเภทอื่น ๆ เช่น HTML หรือ URL และการใช้ความสามารถในการสร้างประเภทข้อมูลคอมโพสิตสำหรับคอลัมน์ที่มีประเภทข้อมูลสำหรับไฟล์เอกสารภาพเสียงและวิดีโอ เนื้อหาไบนารีของฟิลด์เหล่านี้สามารถสแกนด้วย Antivirus Clamav ชนิดข้อมูลที่ซับซ้อนเช่น HTML หรือรูปภาพประกอบด้วยองค์ประกอบที่สามารถเข้าถึงได้เป็นรายบุคคลและสามารถใช้ข้อ จำกัด กับพวกเขาเช่นแท็กหรือรูปแบบที่อนุญาต
ระบบจัดเก็บข้อมูลส่วนใหญ่ใช้ SQL แต่เป็นไฮบริดเชิงสัมพันธ์/เครือข่าย/วัตถุ/ไฟล์ แต่ละตารางเป็นประเภทข้อมูลและแต่ละแถวในตารางเป็นวัตถุ แต่ละแถวมีคอลัมน์ที่มีตัวระบุ (ID) ซึ่งเป็นคีย์หลักและคอลัมน์หลายคอลัมน์ที่มีข้อมูลเมตาคล้ายกับไฟล์: วันที่สร้าง (CDATE), วันที่อัปเดต (UDATE) และสำรองข้อมูล (สำรองข้อมูล) ส่วนที่เหลือของคอลัมน์เป็นฟิลด์ข้อมูลของวัตถุ วันที่ของการสร้าง (cdate) และการเปลี่ยนแปลง (Adate) ของชนิดข้อมูลจะถูกเก็บไว้ วันที่ใช้มาตรฐาน UTC และรวมถึงชั่วโมงนาทีวินาทีและไมโครวินาที มาตรฐาน ISO 8601 ใช้สำหรับการเป็นตัวแทนในข้อความ
ฟิลด์ของวัตถุอาจเป็นประเภทดั้งเดิมหรือชี้ไปที่วัตถุอื่น ๆ โดยใช้ตัวระบุเป็นคีย์ต่างประเทศซึ่งเป็นฐานข้อมูลเครือข่าย ตัวระบุเป็นสตริงข้อความที่มีดัชนีที่ไม่ซ้ำกันและโดยค่าเริ่มต้นจะได้รับ UUID การทำให้เข้าใจง่ายและความสม่ำเสมอนี้ในคีย์หลักและต่างประเทศช่วยให้ระบบอัตโนมัติและการรวมเข้ากับระบบอื่น ๆ
การติดต่อกับโมเดลความสัมพันธ์เอนทิตีนั้นคล้ายกับของแบบจำลองเชิงสัมพันธ์ แต่ละเอนทิตีเป็นวัตถุแอตทริบิวต์เป็นฟิลด์และความสัมพันธ์และแอตทริบิวต์หลายอย่างทำขึ้นกับฟิลด์ที่อ้างถึงวัตถุอื่น ๆ
ตัวระบุวัตถุและฟิลด์สามารถเป็นส่วนหนึ่งของดัชนีการค้นหาที่ไม่ซ้ำกันไม่ซ้ำกันและแบบเต็มข้อความ คำจำกัดความของชนิดข้อมูลและวัตถุสามารถส่งออกและนำเข้าไปยัง/จาก JSON ช่วยให้สำเนาสำรองและการถ่ายโอนข้อมูลระหว่างระบบ
-
"ชื่อ": "article_language",
"Cdate": "2015-04-01T14: 30: 16Z"
"Adate": "2018-09-26T14: 59: 35.53Z"
"ฟิลด์": {
"ชื่อ" : {
"พิมพ์": "สตริง",
"ความยาว": 254,
"not_null": จริง
-
"ภาษา" : {
"พิมพ์": "ภาษา",
"ความยาว": 100,
"not_null": จริง
-
"ข้อความ" : {
"พิมพ์": "html",
"not_null": จริง
-
"บทความ" : {
"พิมพ์": "บทความ",
"ความยาว": 100,
"not_null": จริง
-
-
"ดัชนี": {
"al_ft_search_index": {
"โหมด": "fulltext",
"ฟิลด์": ["ชื่อ", "ข้อความ"]
-
-
"การกระทำ": {}
-วันที่การเปลี่ยนแปลงและอัปเดตอนุญาตให้มีการใช้งานระบบควบคุมการเกิดพร้อมกันในแง่ดี หากเมื่อเปลี่ยนประเภทหรืออัปเดตวัตถุวันที่ทราบล่าสุดของการเปลี่ยนแปลงหรืออัปเดตจะถูกระบุระบบตรวจสอบว่าวันที่นี้เหมือนกับวันที่ปัจจุบันของประเภทหรือวัตถุเพื่อแยกแยะว่ามีการแก้ไขโดยผู้ใช้รายอื่นในภายหลัง
ข้อมูลเมตา "การสำรองข้อมูล" ใช้เพื่อสร้างระบบสำรองข้อมูลที่เพิ่มขึ้นของวัตถุที่อัปเดตพร้อมสำเนาเต็มแต่ละชุดที่ระบุจำนวนสำเนาที่เพิ่มขึ้น ทุกครั้งที่วัตถุได้รับการอัปเดตข้อมูลเมตา "การสำรองข้อมูล" จะเปลี่ยนเป็น "เท็จ" เพื่อระบุว่าไม่มีสำเนาของวัตถุนั้นและควรคัดลอกในการสำรองข้อมูลครั้งต่อไป
ผ่านการใช้คุณสมบัติ postgreSQL เช่น DDL ธุรกรรมและข้อ จำกัด ที่เลื่อนเวลาได้ระบบจะอนุญาตให้มีการสร้างหรือปรับเปลี่ยนประเภทข้อมูลและวัตถุต่าง ๆ ในการทำธุรกรรมเดียวกันในขณะที่ระบบใช้งานอยู่
เพื่อเติมเต็มระบบการค้นหาข้อความแบบเต็มรูปแบบการสกัดข้อมูลเมตาและข้อความจาก PDF, OpEdocument และ Office Open เอกสาร XML, Microsoft Office Binary Formats และรูปแบบอื่น ๆ จะถูกเพิ่มโดยใช้ Tika
NextTypes เป็นระบบเชิงสัมพันธ์ส่วนใหญ่ที่มีคุณสมบัติเชิงวัตถุบางอย่างที่อำนวยความสะดวกในการใช้งานและระบบอัตโนมัติจากภาษาการเขียนโปรแกรม ซึ่งแตกต่างจากระบบความสัมพันธ์เชิงวัตถุมันไม่ได้ใช้การติดต่อระดับวัตถุแทนที่จะใช้ชุดของคลาสทั่วไปและวิธีการสำหรับทุกประเภทและวัตถุที่อนุญาตให้ดำเนินการพื้นฐาน (CRUD) ของการสร้างการอ่านการอัปเดตและการลบ
สำหรับการกระทำที่ซับซ้อนเช่นการสืบค้นที่ใช้หลายตารางที่ให้ระบบที่มีระดับนามธรรมสูงกว่า JDBC ที่อำนวยความสะดวกในการใช้ SQL และรวมเข้ากับประเภทข้อมูลของที่เก็บข้อมูล ระบบนี้อนุญาตให้มีการสืบค้นพารามิเตอร์ด้วยการดำเนินการของวิธีเดียวและใช้ชื่อตารางและคอลัมน์เป็นพารามิเตอร์ซึ่งให้การป้องกันการฉีด SQL นอกจากนี้ยังช่วยให้คุณใช้อาร์เรย์เป็นพารามิเตอร์
การกระทำพื้นฐานสามารถสกัดกั้นคล้ายกับทริกเกอร์ SQL เพื่อแก้ไขประเภทหรือวัตถุหรือดำเนินการเพิ่มเติม นอกจากนี้การกระทำใหม่สามารถกำหนดและให้บริการกับระบบ
ในการใช้งาน Java บางประเภทข้อมูลดั้งเดิมในการจัดเก็บเช่นตัวเลขมีการติดต่อโดยตรงกับคลาสใน Java Runtime Enviroment สำหรับประเภทอื่น ๆ เช่น HTML เอกสารรูปภาพหรือวิดีโอระบบมีคลาสที่รวมเข้ากับประเภทที่เก็บข้อมูลและอนุญาตให้มีการสร้างและปรับเปลี่ยนข้อมูล
โปรโตคอลหลักที่ใช้คือ HTTP แม้ว่าจะสามารถสร้างอะแดปเตอร์สำหรับโปรโตคอลอื่น ๆ ได้ ระบบประกอบด้วยอะแดปเตอร์ SMTP ที่อนุญาตให้รับอีเมลและการแปลงเป็นวัตถุ ด้านบนของ HTTP อินเทอร์เฟซ REST ถูกสร้างขึ้นด้วยการรับรองความถูกต้องผ่านใบรับรอง X.509 และรหัสผ่าน (เข้ารหัสด้วย BCrypt), HTTP BASIC Auth, การป้องกันการโจมตี DOS และการจัดการไฟล์หุ่นยนต์และเว็บเว็บไซต์ อินเทอร์เฟซนี้ช่วยให้สามารถเข้าถึงข้อมูลวัตถุทุกประเภทฟิลด์และองค์ประกอบที่มี URL หนึ่งรายการ
ระบบการจัดเก็บการประมวลผลและการส่งสัญญาณเป็นระบบ MVC ที่อนุญาตให้เข้าถึงข้อมูลผ่านมุมมองหรือรูปแบบที่แตกต่างกัน: HTML, WebDAV, CalDAV, JSON, XML, RSS, ICALENDAR หรือระบบอื่น ๆ แต่ละมุมมองเหล่านี้สามารถแก้ไขได้สำหรับข้อมูลหรือวัตถุทุกประเภทหรือบางส่วนเพื่อปรับให้เข้ากับความต้องการของผู้ใช้ การเข้ารหัส UTF-8 ใช้ทั่วทั้งระบบเพื่ออนุญาตให้ใช้ข้อความในภาษาต่าง ๆ
มุมมอง HTML ให้อินเทอร์เฟซกราฟิกที่ตอบสนองและหลายภาษาที่ช่วยให้สามารถดำเนินการทั้งหมดของระบบจัดเก็บ/ประมวลผล มันถูกตั้งโปรแกรมไว้ใน HTML5/CSS3 ด้วยไอคอน SVG ที่ปรับขนาดได้, การปฏิบัติตาม WCAG, บรรณาธิการข้อความที่มีการไฮไลต์ไวยากรณ์ (Codemirror) หรือ WYSIWYG (tinymce) และการป้องกัน CSRF และ XSS มุมมองนี้รวมประเภทข้อมูล HTML5 เข้ากับของ NextTypes เพิ่มส่วนประกอบที่จำเป็นลงในอินเทอร์เฟซเพื่อเสริมการควบคุมที่จัดทำโดย HTML5 ในประเภทข้อมูล "ตัวอย่าง" คุณสามารถเห็นการควบคุมสำหรับประเภทข้อมูลดั้งเดิมและการอ้างอิงวัตถุทั้งหมด คุณสามารถปรับมุมมอง HTML โดยการปรับเปลี่ยน DOM
แต่ละวัตถุมีรหัส QR ที่ระบุชื่อของเซิร์ฟเวอร์ประเภทของข้อมูลและตัวระบุของวัตถุ รหัสนี้สามารถใช้ในการติดฉลากวัตถุจริงหรืออ่านจากแอปพลิเคชันมือถือ นอกจากนี้ยังมีความเป็นไปได้ที่จะส่งออกข้อมูลบางอย่างในรูปแบบ JSON-LD
มุมมองอื่น ๆ อนุญาตให้เข้าถึงข้อมูลระยะไกลโดยระบบใด ๆ ผ่านการใช้ JavaScript และ JSON หรือ XML ดูเป็นไปได้ที่จะเข้าถึงข้อมูลทั้งหมดและดำเนินการประมวลผลข้อมูลในเบราว์เซอร์ มุมมอง WebDAV ช่วยให้คุณสามารถเข้าถึงข้อมูลเป็นระบบไฟล์ที่ชนิดข้อมูลและวัตถุเป็นโฟลเดอร์และฟิลด์เป็นไฟล์ สิ่งนี้ช่วยให้คุณสามารถเปิดและแก้ไขฟิลด์ของวัตถุใด ๆ ด้วยแอปพลิเคชันภายนอก ตัวอย่างเช่นคุณสามารถแก้ไขฟิลด์เอกสารด้วยแอปพลิเคชันการประมวลผลคำ
มุมมอง CalDAV เป็นการปรับเปลี่ยนมุมมอง WebDAV ที่ช่วยให้คุณสามารถเปิดเผยวัตถุบางอย่างเป็นเหตุการณ์ปฏิทิน เหตุการณ์เหล่านั้นสามารถเข้าถึงได้โดยใช้มุมมอง icalendar มุมมอง RSS อนุญาตให้เข้าถึงรายชื่อวัตถุด้วยไคลเอนต์ใด ๆ ของรูปแบบนั้น