Thank you for reading! Today’s introduction is brought to you by Junpei, and it’s been a while since my last post.
A Recent Hobby
Lately, I’ve gotten back into Pokémon, thanks to my wife’s influence. It’s been about 20 years since I first fell in love with it back in elementary school, when Pokémon Red/Green debuted on the Game Boy. Now, the nostalgia has kicked in again after all these years.
Not long ago, Mie Prefecture’s Shima Spain Village teamed up with Pokémon for a limited-time collaboration. Naturally, I had to check it out. The park was filled with Pokémon displays everywhere, drawing crowds of all ages.
Pokémon Everywhere!
Every corner of the area featured Pokémon—and for the more popular photo spots, people were even lining up. I rediscovered old favorites I used as a kid and met new Pokémon introduced over the past two decades. Witnessing a franchise that continues to be cherished by so many people for so long made a strong impression on me.
In the IT industry, we work every day to develop systems that make a positive impact. Lately, I’ve been thinking how wonderful it would be if we could create something as universally beloved as Pokémon—something that resonates with both children and adults alike.
At Dandelions, we regularly hold “Recreation” events to deepen the camaraderie among employees!
This is “George” from Unit 3. As previously introduced in this blog, Dandelions has become a sponsor of the young lion “Regulus” at the Higashiyama Zoo and Botanical Gardens. To go see “Regulus” (and other animals) together, Unit 3 organized a recreation event—a visit to the Higashiyama Zoo and Botanical Gardens.
After the date was set for Saturday, October 19, we kept an eye on the weather forecast. Unfortunately, the weather didn’t favor us on the day—it rained, and it was unusually hot and humid for October. However, even while walking around with umbrellas, we were able to thoroughly enjoy the zoo and botanical gardens.
To make touring the zoo and botanical gardens even more interesting, we also held an animal scavenger hunt game. Participants earned points by finding specific animals, taking photos, and submitting them, with points awarded based on their rarity (difficulty of finding them). The recreation participants were divided into four teams and set out to find the animals.
(By the way, before going to the zoo and botanical gardens, we all had lunch together at a nearby restaurant.)
Stay tuned for the introduction of our next recreation event!
Welcome to our engineering blog, where we share the learning experiences we’re engaged in daily. This time, we’re focusing on low-code development in Unit 2.
Today’s Theme: Migrating Outsystems Database to an External DB
In Outsystems, you can request a free cloud version called the Personal Environment (PE) by creating an account. (What is an OutSystems Personal Environment – OutSystems Support) Using this environment, you can develop personal applications for small-scale users and are provided with 2GB of database storage.
However, there are some inconveniences, such as limited storage capacity and the inability to access the database directly from external sources. To address these issues, we decided to migrate the internal database created in Outsystems to an external database while keeping the table definitions unchanged. Below are the results of this migration.
Environment Information
Personal Environment: Version 11.31.0 (Build 43948) Service Studio: Version 11.54.80 / Build 63652 Data Extractor: 1.4.0
About Data Extractor
By using Data Extractor, freely available on the Forge, you can obtain the actual table DDL corresponding to the Entities created in Outsystems. Here’s how to use it:
Install “Data Extractor” from the Forge.
Launch the application via “Open In Browser.”
Log in by entering your ID and password.
Create a new snapshot by clicking “New Snapshot” on the top page.
Configure the new snapshot with the following settings: ・Snapshot Name: Give your snapshot a name. Any name is fine. ・Extract Configurations: Check the “Table DDL” option. Other items are optional. ・Extract Entities: Add the Entities for which you want to output the DDL to the list. Use the “Search Entity to Add” feature to find Entities by prefix matching. Select the desired Entity and click “Add” to include it in the list. ・Other Items: Optional. Configure as needed.
Click the “Run” button. Your snapshot will appear in the list on the top page with the status “Created.” Once the status changes to “Done,” you can download it by clicking the “↓” icon on the far right.
Contents of the downloaded Zip file: ・[TableName].csv.gz: Export of data registered in the Entity. ※Note: In our testing environment, Japanese characters were displayed as “?” and could not be read correctly. ・TableDDL.Create.sql.gz: DDL of the actual table corresponding to the Entity. ※Includes the following: ・Create Table statements ・Alter Table statements to add foreign key constraints to columns of the Entity Identifier type ・Create Index statements to add indexes to columns of the Entity Identifier type
By executing the Create Table statements obtained through these steps, you can create tables with the same layout as the internal database on your own SQL Server.
To reference the tables created in the external database from Outsystems, you’ll need to create a Database Connection via the Service Center and then set up the connection to the tables through “Connect to External Table or View” in Integration Studio.
Summary
Outsystems provides an internal database by default.
To migrate to an external database, you can obtain the Entity’s DDL using the Data Extractor from the Forge.
For data migration, alternative methods may be necessary since columns containing Japanese characters might become garbled.
Referencing tables in the external database requires creating a Database Connection and setting up connections through it.
How did you find this guide? We hope these steps will be helpful when you consider externalizing your own database in the future. Our Unit 2 team will continue to share engineering blogs using low-code tools like OutSystems, so stay tuned!
Embracing Nature Through Camping and the Importance of Preparation
Thank you for taking the time to read this. I’m “Kito”, and I’ll be handling this employee introduction. I usually work in system development within the IT industry, but starting this year, I was spurred by my interest in disaster preparedness, I’ve discovered a new hobby – camping. Combining daily disaster awareness with the joy of camping has transformed my time in nature into precious moments for relaxation.
At the start of this year, news of an earthquake in the Hokuriku region dominated the headlines, and witnessing the extent of the damage and its impact on people firsthand deeply affected me. Having lived in Kobe during its reconstruction after the Great Hanshin Earthquake in my student days, my awareness of disaster prevention grew even stronger. Although I had always practiced disaster preparedness, I began reevaluating my own measures and thought, “Could these disaster-preparedness items also be used for camping?” This insight led me to make my camping debut.
My first camping trip was to “Lake Motosu” in winter, a famous spot featured in the anime “Laid-Back Camp”. It was around the time when the pandemic-induced camping boom had settled down, so it wasn’t too crowded, but the season and weather made it quite cold. Even so, the next morning was clear, and I was amazed by the stunning view of Mount Fuji—a sight unique to camping that moved me deeply. Of course, I enjoyed some “curry noodles” to fully experience the location. Since then, local day camps where I can relax and enjoy tea have become my go-to style.
With the recent issue of overtourism making accommodations difficult to secure, camping has been a helpful alternative in such situations. During a trip to Hokkaido, I faced challenges transporting camping gear by plane. Dealing with carry-on and checked baggage restrictions taught me the importance of clever packing strategies—a valuable lesson for future long-distance camping adventures.
One of my most immersive camping experiences was a trip to Nagano with some former coworkers. I purchased a new tent, and together we set up camp and made full use of our gear, making for an enjoyable time. This shared adventure offered a different kind of fulfillment compared to my usual solo or day camping. We identified many areas for improvement and clarified our goals for the next trip. (The tent on the left is mine.)
Amidst all this, our company had the opportunity for a thematic discussion, and my proposal on disaster prevention was accepted. We divided into teams based on age groups, and each presented on various themes from different perspectives, such as “disaster-preparedness goods,” “disaster awareness,” “zombie pandemic countermeasures,” “trends in disaster prevention,” and “disaster-prevention business models.” This significantly heightened disaster awareness within the company. With the looming risk of a Nankai Trough earthquake, it was a valuable opportunity to deepen our collective preparedness.
What began as a focus on disaster preparedness has evolved into a camping lifestyle that has introduced new values and lessons into my everyday life. By intertwining the two seemingly different worlds of disaster prevention and camping, we can explore a way of living that combines disaster preparedness with an appreciation of nature. Looking ahead, I hope to continue cherishing new experiences and discoveries in the great outdoors.
Here at Dandelions, we hold a reporting session for each unit in late November to discuss the activities we’ve undertaken over the past year. Each unit presents their report, and members along with representatives score the presentations.
The goals for each unit this term are as follows:
0th Unit
Operation and maintenance of the Dandelions site, along with content updates
Research on web trends and motion UI
1st Unit
• Improvements to the image recognition system
① Data migration
② Development of a smartphone app
③ API functionality (adding alerts: checks for excessive operational hours)
(In collaboration with Unit 2)
④ Login authentication feature using image recognition (In collaboration with Unit 2)
2nd Unit
• Full operation of the internal system → Experience in operation and maintenance
① Adding transportation expense application functionality
② Migrating the database to the internal database (changing from Outsystems internal DB to our own DB)
3rd Unit
Operation and maintenance of the internal server, enhancing security
Internal security training
This is a valuable opportunity for members to present the culmination of a year’s work. Let’s prepare thoroughly to ensure we don’t forget any points during the presentation!
Details of the reporting session will be provided later.