Changing the Pagination Limit in Algolia

Overview In Algolia, a pagination limit (paginationLimitedTo) is set for search results, and by default, only up to 1,000 results can be accessed. By changing this setting, you can adjust the maximum number of items available through pagination. Configuration Method To change the pagination limit (paginationLimitedTo), the following methods are available. Configuring from the Algolia Dashboard Log in to Algolia Select the target index Open Configuration → Pagination Change the paginationLimitedTo value ...

February 10, 2025 · 1 min · Nakamura

Prototyping an API for Retrieving Variant Character Lists

Overview The “Historiographical Institute Database Variant Character Identification List” is published on the following page. https://wwwap.hi.u-tokyo.ac.jp/ships/itaiji_list.jsp This time, I will create an API to retrieve the data published on the above page in JSON format. What Was Developed You can access it from the following URL. https://hi-itaiji.vercel.app/ It returns a mapping using “char (variant character)” from the identification list as the key and the “base” kanji as the value. Summary I hope this serves as a useful reference for applying variant character lists. ...

February 10, 2025 · 1 min · Nakamura

Using @react-three/fiber and drei with Next 15 (Using React 19)

Overview When using @react-three/fiber with Next 15 (which uses React 19), the following is stated: R3F v8 is not compatible with React 19 or Next 15, which uses React 19. Use the R3F v9 RC instead which can be installed with @react-three/fiber@rc. However, when I added the following for mouse controls, it did not work well with @react-three/fiber@rc. https://www.npmjs.com/package/@react-three/drei This is a note on how to address this issue. ...

February 6, 2025 · 1 min · Nakamura

Created a Similar Text Search App for the Koui Genji Monogatari

Overview I created a similar text search app for the Koui Genji Monogatari. You can try it from the following URL. https://huggingface.co/spaces/nakamura196/genji_predict This article introduces how to use the app. Data The text data published on the following Koui Genji Monogatari DB is used. https://kouigenjimonogatari.github.io/ How the App Works The mechanism is simple: text for each volume and page of the Koui Genji Monogatari is prepared in advance, the edit distance from the input string is calculated, and texts (along with volume and page numbers) with high similarity are returned. ...

January 29, 2025 · 11 min · Nakamura

CORS Configuration for Omeka S Image Server

Overview This is a note on handling CORS configuration for the Omeka S Image Server. Background In the following article, I introduced how to address CORS errors with the Omeka S IIIF Server module. While the above configuration resolved the issue of downloading IIIF manifest files, there were cases where images could not be downloaded, as shown below. A c c e s s t o i m a g e a t ' h t t p s : / / x x x / i i i f / 2 / 8 4 5 5 / f u l l / 8 6 , / 0 / d e f a u l t . j p g ' f r o m o r i g i n ' h t t p s : / / u v - v 4 . n e t l i f y . a p p ' h a s b e e n b l o c k e d b y C O R S p o l i c y : T h e ' A c c e s s - C o n t r o l - A l l o w - O r i g i n ' h e a d e r c o n t a i n s m u l t i p l e v a l u e s * , ' , b u t o n l y o n e i s a l l o w e d . This article describes how to address this issue. ...

January 27, 2025 · 3 min · Nakamura

Creating AIPs with Archivematica for Files in Alfresco

Overview This is an example of how to create AIPs using Archivematica for files in Alfresco. Below is a demo video of the deliverable. https://youtu.be/7WCO7JoMnWc System Configuration For this project, I used the following system configuration. There is no particular significance to using multiple cloud services. Alfresco was built on Azure, referencing the following article. Archivematica and object storage use mdx.jp, and the analysis environment uses GakuNin RDM. ...

January 26, 2025 · 27 min · Nakamura

Starting Alfresco Governance Services Community Edition

Overview I attempted to install Alfresco Governance Services Community Edition, referring to the following manual, so here are my notes. https://support.hyland.com/r/Alfresco/Alfresco-Governance-Services-Community-Edition/23.4/Alfresco-Governance-Services-Community-Edition References As a similar effort, the following is available. Please refer to it as well. https://irisawadojo.blogspot.com/2020/11/72alfresco2.html Virtual Machine The following machine was created as an Azure virtual machine. Image: Ubuntu Server 24.04 LTS - Gen2 VM Architecture: x64 Size: Standard D2ads v6 (2 vcpus, 8 GiB memory) Open port 8080 for use. ...

January 23, 2025 · 30 min · Nakamura

Editing TEI/XML Files Using XSLT

Overview This article introduces one example of how to edit TEI/XML files while using XSLT. Related In the following article, I introduced how to preview XSLT results using a VSCode extension. In this article, I introduce a simpler method for editing TEI/XML files while using XSLT, without using the above extension. Installing Extensions Install the following extensions in VSCode: Live Server https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer Scholarly XML https://marketplace.visualstudio.com/items?itemName=raffazizzi.sxml Auto Close Tag https://marketplace.visualstudio.com/items?itemName=formulahendry.auto-close-tag Additionally, the following two extensions are recommended by Scholarly XML. However, since they were inconvenient in some of my use cases, I will make them optional for now. ...

January 23, 2025 · 3 min · Nakamura

Processing Dataverse Data with Archivematica

Overview I confirmed the workflow for processing Dataverse data with Archivematica, so here are my notes. Background Archivematica provides a feature to input data from Dataverse. https://www.archivematica.org/en/docs/archivematica-1.17/user-manual/transfer/dataverse/ I learned about this feature at the following lecture, so I decided to try it out. https://www.kulib.kyoto-u.ac.jp/bulletin/1402322 Dataverse I used the Demo Dataverse that was also used in the following article. I uploaded the following data. https://demo.dataverse.org/dataset.xhtml?persistentId=doi:10.70122/FK2/IHQZL3 From here, download both the image data itself and the JSON data. Go to the Metadata tab and select JSON from Export Metadata. ...

January 21, 2025 · 22 min · Nakamura

Real-Time Preview of TEI/XML Using VSCode and XSLT

Overview I prototyped a real-time preview environment for TEI/XML using VSCode and XSLT, so this is a memo of the process. Behavior An example of the operation is shown below. When you edit and save a TEI/XML file, the browser display is updated. https://youtu.be/ZParCRUc5AY?si=-aHHi3bIZGWoJYnP Preparation Install the following extensions: Live Server Trigger Task on Save When a TEI/XML file is saved, Trigger Task on Save executes the XSLT transformation, and the resulting HTML file is viewed with Live Server. ...

January 15, 2025 · 8 min · Nakamura

Creating PDFs from TEI/XML of the Koui Genji Monogatari Text Database

Overview The Koui Genji Monogatari (Collated Tale of Genji) Text Database publishes text data from “Koui Genji Monogatari.” https://kouigenjimonogatari.github.io/ This time, I added PDF files like the following to the database. https://kouigenjimonogatari.github.io/output/01/main.pdf This article describes how to create such PDF files using XSLT and TeX. Cloning the Repository Clone the repository as follows. g i t c l o n e - d e p t h 1 h t t p s : / / g i t h u b . c o m / k o u i g e n j i m o n o g a t a r i / k o u i g e n j i m o n o g a t a r i . g i t h u b . i o Then install xslt3 with the following command. ...

January 14, 2025 · 9 min · Nakamura

Trying Local Authentication with @sidebase/nuxt-auth

Overview I had the opportunity to try local authentication with @sidebase/nuxt-auth, so this is a personal note for future reference. Background In the following article, I introduced how to perform Drupal authentication using @sidebase/nuxt-auth. In that article, I was using Nuxt 3’s SSR with the authjs provider of @sidebase/nuxt-auth. The provider descriptions are as follows. authjs: for non-static apps that want to use Auth.js / NextAuth.js to offer the reliability & convenience of a 23k star library to the Nuxt 3 ecosystem with a native developer experience (DX) local: for static pages that rely on an external backend with a credential flow for authentication. The Local Provider also supports refresh tokens since v0.9.0. Read more here. ...

January 13, 2025 · 9 min · Nakamura

Using Drupal OAuth with NextAuth.js

Overview This is a note about using Drupal OAuth with NextAuth.js. Behavior Access the app created with Next.js and press the “Sign in” button. If you are not logged into Drupal, you will be redirected to the login screen. If you are already logged in, an authorization button is displayed. Click to authorize. The login information is displayed. Drupal-Side Setup Module Installation Install the following module. ...

January 9, 2025 · 10 min · Nakamura

Trying Azure Logic Apps

Overview This is a note from trying Azure Logic Apps for the purpose of investigating no-code or low-code development. Result Below is the Logic App Designer screen. We create a workflow that receives an HTTP request, saves data to Cosmos DB, and sends an email upon success. Creating Azure Cosmos DB Everything except “Account name” was left as default. It was created with the name “my-first-azure-cosmos-db-account.” Create an “Items” container. ...

January 7, 2025 · 3 min · Nakamura

Creating Apps with Azure OpenAI Assistants API Using Gradio and Next.js

Overview I created apps using the Azure OpenAI Assistants API with Gradio and Next.js, so here are my notes. Target Data I used articles published on Zenn as the target data. First, I bulk downloaded them with the following code. i f i f p u w f m r m r a r h o p o p o g l i r o m o m e s l r r e u r d a i f p u t i r s h t o w t b t t = = r e a r f o a r e f e o t x s i s q 1 l s t t r g l x s u m t . t r 4 o d 1 [ : p a i l e t o p p l m h e s m ] = o c e b a u i _ s c o = a f q i n = l n r r r + n o . o n = = k o . u m i f s e ( e t l = p p n s h e p w e p m " e r s a a i s t a a t e B s t d e r s o p h e r k c . 1 q t t i e o m i n i t r o t = s = t l a d h h n = a u l r ( t s t r t p i e p m . u u p . s t e t p r o d c p ( = e e r t . g ( e ( B s e n a l i e u x e i f e o x t e t : q s t e n n r f i q f i t s t x a q / u e a s d l " s u u n _ . _ t u d / e . [ ) a ( s d t e l d t p o ) t m z s j ' r " ) a s s S ( e a p i e t s a = t h : t ( t o c x t a f n s o r = i t a t s u l t h t u n . n t c t / e . p a ( . h l . g ( i 0 l p t x g ( s ) d , S d e ) c : e s e t e r s i o e t l s : x _ t e _ r " u v ( e : / t ( s = n w p / u s / p u p " a " a r ' z { a r o z m ) p l ] e u t l n n e i ) n r h ) s c ( a / n l ) e " t s a . . : . ) e r d s t x f t e p e t : i v l x _ c " i t o l t , p e + ( a s ' " t ? a / h h u r ' t ) s t ) m , e i [ l r c - . e n l 1 p x a e ] a i m [ } r s e ' . s t = p t e _ n a x r o a t t " k k h " ) = a ' T m ] r u ) u r e a ) 1 9 6 & p a g e = { p a g e } " Registering to the Vector Store Upload data files with the following code. ...

January 6, 2025 · 13 min · Nakamura

How to Upload Media to Omeka S Using Python

Overview This is a personal note on how to upload media to Omeka S using Python. Preparation Prepare environment variables. O O O M M M E E E K K K A A A _ _ _ S S S _ _ _ B K K A E E S Y Y E _ _ _ I C U D R R E E L N D = T E h I N t T T t Y I p = A s L : = / / d e v . o m e k a . o r g / o m e k a - s - s a n d b o x # E x a m p l e Initialize. ...

January 3, 2025 · 7 min · Nakamura

Trying Annotations in Sketchfab

Overview I tried out annotations in Sketchfab, so this is a personal note for future reference. Ultimately, I created the following viewer. https://nakamura196.github.io/SketchfabAnnotationViewer/ https://youtu.be/iEe6TbI3X70 Data Used We will use the “Ishibuchi Family Globe” from the “Kikuchi City / Digital Archive.” https://adeac.jp/kikuchi-city/catalog/e0001 Usage Example First, I uploaded the 3D data to Sketchfab. https://skfb.ly/pt8oU Then I added annotations. As a result, the following page was prepared. Using the API Please also refer to the following repository. ...

January 2, 2025 · 11 min · Nakamura

Converting OBJ Files to glTF and GLB Files

Overview These are notes on how to convert OBJ files to glTF and GLB files. Target Data The target is the “Ishibuchi Family Globe” from the “Kikuchi City / Digital Archive.” https://adeac.jp/kikuchi-city/catalog/e0001 The OBJ file can be accessed from the following URL. https://adeac.jp/viewitem/kikuchi-city/viewer/3d/dc-e0097/models/Kikuchi_Globe_180820.obj Downloading the Target Data Download the library. n p m i a x i o s Prepare the following file. ...

December 30, 2024 · 11 min · Nakamura

Trying aleph-r3f

Overview In the following article, I introduced the Aleph 3D viewer. After further investigation, I also discovered the following repository. https://github.com/aleph-viewer/aleph-r3f It is described as follows, with the key difference being its use of react-three-fiber and shadcn/ui. Aleph is a 3D object viewer and annotation/measurement tool built with react-three-fiber and shadcn/ui The annotation features also appeared to be improved, as shown below. In this article as well, I use 3D data of the “Ishibuchi Family Globe” published in the Kikuchi City Digital Archive. ...

December 29, 2024 · 13 min · Nakamura

Cantaloupe: Serving Images Stored in Microsoft Azure Blob Storage

Overview This is a memo on how to serve images stored in Microsoft Azure Blob Storage using Cantaloupe Image Server, one of the IIIF image servers. This is the Microsoft Azure Blob Storage version of the following article. Method This time we will use the Docker version. Please clone the following repository. https://github.com/nakamura196/docker_cantaloupe In particular, rename .env.azure.example to .env and set the environment variables. # C C C # C L A A A A E F N N N F N T o T T T o T S r A A A r A _ L L L L E M O O O T O N i U U U r U C c P P P a P R r E E E e E Y o _ _ _ f _ P s A A A i H T o Z Z Z k O _ f U U U S E t R R R T M E E E = A A S S S I z T T T L u O O O = r R R R e A A A G G G B E E E l S S S o O O O b U U U R R R S C C C t E E E o _ _ _ r A A C a C C O g C C N e O O T U U A N N I T T N _ _ E N K R A E _ M Y N E = A = M E = The last two settings also include HTTPS configuration using Traefik. ...

December 23, 2024 · 2 min · Nakamura