implerhq / impler.io Goto Github PK
View Code? Open in Web Editor NEWPowerful CSV & Excel Import experience for SaaS ๐ Save months building data import experience from scratch ๐ฐ
Home Page: https://impler.io
License: MIT License
Powerful CSV & Excel Import experience for SaaS ๐ Save months building data import experience from scratch ๐ฐ
Home Page: https://impler.io
License: MIT License
Describe the bug
Whenever the user tries terminating ongoing import from the middle of the import process and mapping stage, the API throws the following error,
To Reproduce
Steps to reproduce the behavior:
Import
button.See mapping
.Upload Again
to reset the import.Expected behavior
The terminate API should handle the edge case record model not found in the database.
Desktop (please complete the following information):
Chrome
v0.16.1
Additional context
Add any other context about the problem here.
Describe the bug
While providing schema in the OUTPUT editor, the static keys are getting deleted. The provided schema is as follows,
# Chunk Format
{
"params": {
"taskType": "process",
"operationType": "inboundService"
},
"entities": "{{data}}"
}
# Record Format
{
"type": "account",
"data": {
"attributes": {
"baxptyiqviaid": {
"values": [
{
"value": "{{baxptyiqviaid}}",
"locale": "en-US"
}
]
}
}
}
}
While the receiving OUTPUT is,
{
"params": {},
"entities": [
{
"data": {
"attributes": {
"baxptyiqviaid": { "values": [{ "value": "asdf" }] }
}
}
}
]
}
Which removed the static keys.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The static keys should not be removed from the webhook.
NoSuchBucket exception
if the specified bucket does not exist.Localstack
on local computer.Steps to Reproduce:
Current Behavior:
The backend application crashes with a NoSuchBucket exception
when the specified bucket does not exist.
Expected Behavior:
The application should handle the NoSuchBucket exception
gracefully and return a well-formatted error response to the front end, indicating that the specified bucket does not exist.
Proposed Solution:
try...catch
and construct an error response.Additional Information:
Priority:
High
chunkSize
in template refers to how many data will be sent to application at a time while processing file. Currently we support sending data to application via webhook call to the URL provided to the template.
chunkSize
parameter takes 0
if value is not provided while creating template. It will be good if we can provide default value to it.
Tracking issue for:
While running impler
, in the self-hosted version, the /v1/health-check
API returns storage = down
even though credentials for AWS
are valid, and services are storing files in S3 Bucket.
While using Button
from @impler/react
, it throws an error, in nextjs application.
Server Error
TypeError: n.button is not a function
This error happened while generating the page. Any console logs will be displayed in the terminal window.
Use Case Scenario:
In situations where Impler.io needs to push data to an external system via a webhook, the destination API may have limitations on the rate at which it can accept requests. For instance, the API may only want to process one call every 20 seconds to avoid overwhelming the system. With the time-limited API calls feature, Impler.io can adhere to this restriction, preventing disruptions and ensuring smooth data processing.
Expected Behavior:
Additional Context:
Priority:
Medium
Attachments:
Acceptance Criteria:
Is your feature request related to a problem? Please describe.
Current usage of jQuery for showing tooltips is not recommended while displaying error messages to users.
Describe the solution you'd like
We can try implementing https://floating-ui.com/docs/useHover to check whether we can optimize and show errors more carefully during the review phase. Review data is getting rendered at Table Component, which is using jQuery tooltip for rendering error message, which can be altered with floating-ui tooltip.
Additional Context
Describe the bug
When providing template
prop to Import button from @impler/react
and selecting csv file to upload, mapping button stops working.
To Reproduce
Steps to reproduce the behavior:
template
to Import button from @impler/react
See mapping
to see error in network tab.Expected behavior
Template selection should work
Screenshots
Desktop (please complete the following information):
0.1.5
Additional context
Is your feature request related to a problem? Please describe.
In current scenario, if a user uploads an Excel file that has multiple sheets then by default Impler processes the first sheet and tries importing it. Which is not the case always.
So when a user uploads a file with multiple sheets, the platform should display a modal popup, allowing the user to choose the specific sheet they want to import.
This enhancement will streamline the import process for multi-sheet Excel files, providing users with greater control and flexibility.
Describe the solution you'd like
Is your feature request related to a problem? Please describe.
It's always frustrating for developers and people visiting impler to understand What is impler? How it works?
etc. Any visitor wants to see a live demo, something to play, something to do. So adding a demo website, where anyone can try importing data, will give a better understanding of functionality.
Describe the solution you'd like
The demo site should be a one-page app, that allows:
Describe the bug
To Reproduce
Steps to reproduce the behavior:
Expected behavior
It should explicitly indicate that there is a way to create a project.
Desktop (please complete the following information):
here is the error that encountered when starting application using docker-compose
widget | > @impler/[email protected] envsetup:docker /usr/src/app/apps/widget
widget | > chmod +x ./env.sh && ./env.sh && mv ./env-config.js ./build/env-config.js
widget | ./env.sh: line 27: .env: No such file or directory
Describe the bug
Here while waiting for review data, it should show a message like Loading review data...
instead of No data found
, because the data is already there.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The table should show the proper message
Desktop
Use Case Scenario:
Imagine a scenario where a user attempts to import a dataset, but the file is corrupted or cannot be opened by the platform. Instead of outright rejecting the file, the platform can provide an option to send the file to the user for review. The user can then analyze and fix the problems and possibly inform the customer.
Expected Behavior:
Additional Context:
Priority:
Attachments:
Acceptance Criteria:
receive an invalid file for review
.Describe the bug
The sample URLs that get generated for Templates is not generating correctly.
To Reproduce
Steps to reproduce the behavior:
sampleFileUrl
, sample file URL is showing as https://bucket.amazonaws.com//impler/638487e5f4152caeea1ac28a/sample.csv
which has extra /
before impler
.Expected behavior
Generated URL should be valid and publicly accessible.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Ubuntu
Chrome
v0.1.4
Additional context
Add any other context about the problem here.
Implement a Readymade Templates feature in Impler.io to provide developers with pre-configured templates for common import use cases.
This functionality aims to streamline the import process by offering ready-to-use templates for scenarios such as employee import, leads import, and others.
Developers can use these templates as boilerplates, to significantly reduce the time spent on configuration and iteration.
Use Case Scenario:
Consider scenarios where developers frequently perform similar imports, such as employee import or lead import. With Readymade Templates, developers can choose a template that aligns with their specific use case, eliminating the need to configure each import from scratch. This accelerates the setup process and ensures consistency across similar imports.
Expected Behavior:
Priority:
High
Attachments:
*will be added after design is ready
Acceptance Criteria:
Implement a Column Ordering Facility which will allow developers to customize the arrangement of columns in the import configuration table. With this feature developers and users will have greater flexibility and ease of use while working with the platform.
Use Case Scenario:
In scenarios where imports involve a substantial number of columns, the ability to customize the order of columns becomes crucial. For example, a developer may prefer to have essential columns displayed at the beginning for quick reference. The Column Ordering Facility caters to such needs, offering a user-friendly interface for rearranging columns in the import configuration.
Expected Behavior:
sequence
property in the column table will be updated according to order.Priority:
Medium
Acceptance Criteria:
Steps to Reproduce:-
See Mapping
Upload Again
Template
data will not be visible.
It should,
Template
data should be visible.Integrate a Duplicate Import functionality in Impler.io to allow users to effortlessly replicate existing imports with the same schema and configuration.
This feature aims to reduce the developer's effort when dealing with repeated imports or when similar configurations are required for different environments.
It will minimize manual work in setting up identical imports.
Use Case Scenario:
Consider a scenario where a developer frequently needs to import data with the same schema at different places and environments (e.g., development, testing, production). Instead of recreating the import configuration each time, the Duplicate Import feature allows the developer to clone an existing import, saving time and ensuring consistency across environments.
Expected Behavior:
Additional Context:
Priority:
High
Acceptance Criteria:
Introduce the ability for users to perform multi-select in a column within Impler.io's data import feature. This enhancement includes adding support for selecting multiple items from a dropdown in the created Excel sample.
Additionally, during the widget review phase, an error should be triggered if the selected items are not from the provided list. This feature aims to open doors for a wide range of data import needs where the user wants to import data like tags
, categories
etc.
Use Case Scenario:
Expected Behavior:
Additional Context:
Priority:
Medium
Acceptance Criteria:
Describe the bug
When navigating to the page from the app, where the Impler button is added it works well. But hot refreshing the page throws an error.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
It should work well
Desktop (please complete the following information):
Additional context
Installation of @impler/react
fails but it gets installed correctly. Possibly need to remove the preinstall
script that builds the package.
Is your feature request related to a problem? Please describe.
It seems obvious that the createdAt
, updatedAt
, and __v
fields are not used anywhere on the front end. so we can remove them from API responses.
Describe the solution you'd like
Exclude
decorator to an entity, like,import { Exclude } from 'class-transformer';
export class MyEntity {
...
@Exclude()
createdAt: Date;
@Exclude()
updatedAt: Date;
@Exclude()
__v?: number;
}
__v
in the SchemaDocument,interface IMyDocument extends MyEntity, Document {
_id: never;
__v: never;
}
ClassSerializerInterceptor
interceptor, like,import { Body, ClassSerializerInterceptor, UseInterceptors } from '@nestjs/common';
...
@UseInterceptors(ClassSerializerInterceptor)
export class MyController {
...
}
dal
lib by running pnpm build:dal
.Describe the bug
The background was transparent, but version 0.1.7
has an issue in that background is grayed out.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The outer area of the widget should be a transparent bit.
Describe the bug
Email must be valid error whenever i import bulk user.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
validate email proper.
Desktop (please complete the following information):
Describe the bug
When the user changes items on a par page and the user is on a page that is out of context for the new page size. The imports page shows empty imports.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
When a user tries navigating among sizes of the imports page, if the current page number is within the context of the new page size then keep it else switch the page to the last page of the new page size.
Screenshots
https://github.com/implerhq/impler.io/assets/50201755/cb18c549-02e3-4074-8e3c-d6b528dcf911
Steps to reproduce
.env.example
to the .env
fileaccess-token
valueauthorization
Possible Fix
access-token
to access-key
Currently widget is persisting its state like last phase
, that should not happen.
Create method to reset state when SHOW_WIDGET
event gets called.
Integrate pagination functionality on the Imports page in Impler.io to enhance the user experience and streamline the management of multiple imports.
Currently, as developers create separate imports for different environments, the Imports page can become cluttered, requiring excessive scrolling to locate specific imports.
Adding pagination will allow users to navigate through import entries more efficiently.
Use Case Scenario:
In environments where developers regularly create multiple imports for various purposes (e.g., production, staging, development, UAT), the Imports page can become overwhelming, making it challenging to find specific imports.
Pagination provides a solution by organizing imports into manageable sections, reducing clutter and simplifying navigation.
Expected Behavior:
Additional Context:
Priority:
High
Acceptance Criteria:
Implement a feature in Impler.io that allows for the automatic import of files from FTP (File Transfer Protocol) locations.
This enhancement is particularly useful for scenarios where data, such as attendance records from tracking devices, is stored in FTP locations. Enabling Impler.io to seamlessly fetch and import files from FTP locations and ensuring real-time integration with external systems.
Use Case Scenario:
Consider a situation where attendance tracking devices generate daily reports and store them in an FTP directory. With the automated FTP import feature, the platform can be configured to regularly check the FTP location, retrieve the latest attendance file, and import it into the system. This eliminates the need for manual intervention and ensures that attendance data is consistently and promptly updated to the application.
Expected Behavior:
Additional Context:
Priority:
Attachments:
Acceptance Criteria:
Describe the bug
When trying to bulk update columns, getting an error.
TypeError: Cannot set properties of null (setting 'recordVariables')
at UpdateTemplateColumns.<anonymous> (/usr/src/app/apps/api/dist/main.js:3276:43)
at Generator.next (<anonymous>)
at fulfilled (/usr/src/app/apps/api/dist/main.js:3225:58)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
To Reproduce
Steps to reproduce the behavior:
Expected behavior
It should update the columns
Desktop (please complete the following information):
When running a self-hosted version of impler
, even though ACCESS_KEY
is mentioned in the /docker/.env
file, APIs are returning a response without a need for Authentication
.
Referencing the description in discussion link
#105
Is your feature request related to a problem? Please describe.
When the upload gets started, the developer may want to listen for events regarding the upload being started, upload being completed, or upload being terminated. By listening to events, the application may like to call the API, change status, or show breadcrumb.
Describe the solution you'd like
The following events should be enough to implement something on the application,
UPLOAD_STARTED
- When the user selects the file to upload and start mappingUPLOAD_COMPLETED
- When the upload is completedUPLOAD_TERMINATED
- When the upload is stopped by the userImplement interactivity between widget and API such that one can Upload file.
Setup Two Projects,
Describe the bug
The table gets overflowed from the widget.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The table should stay inside the widget modal and should not overflow.
Desktop (please complete the following information):
Make Mapping stage to interact with API and make updates
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.