B端產品小功能設計1:批量導入
在B端產品設計中,我們經常會用到批量導入這個功能,用好它就能大大提高工作效率。本文將從四個方面,對批量導入展開介紹分析,希望對你有幫助。
今天分享一個B端產品設計中經常或者說必須用到的功能:批量導入。
相信很多小伙伴都對這個功能有接觸和了解,覺得不過就是個簡單的把Excel表的數據導入到系統而已。
道理是這么個道理,但小功能也有它的奧妙之處,況且批量導入是個很不一般的非常重要的功能,特別在B端產品設計中。
一個做得好的批量導入功能,可以大大提高使用者的工作效率。
那么我們在設計這個功能時,需要考慮什么呢?我羅列了幾點:
- 如何才能讓用戶在批量導入過程中盡可能地減少出錯的概率。
- 若真的出現導入錯誤應該怎么處理,如何提示用戶修改,用什么方式更好。
- 批量導入的數據量大概有多大。
- 導入的數據,如果與原有數據沖突時,該怎么處理。
一、設計批量導入的模板
眾所周知,在做導入功能時,我們都會用到Excel表。由于用戶在Excel中的輸入編寫是很自由的,如果不把Excel定好格式模板,告訴用戶我們的填寫規則,那么用戶填寫完的信息導入系統時,很大概率是不符合規范的,所以第一步必須要定好Excel的模板。
首先,要在Excel中把填寫規則表述清楚。
例如這個報表的填寫功能的批量導入的說明,我們可根據各自的業務規則需求,制定適合自己的規則。
而且,在一些需要與系統數據庫進行匹配校驗的數據,要控制好輸入格式,可以讓用戶選擇,就不要讓用戶編輯輸入。
例如:省市區這類型,例如廣東省,如果用戶輸入,很可能有的用戶輸入“廣東”,這樣在和數據庫進行匹配或者校驗時就會匹配不到數據。所以我們要盡可能避免這種情況。
二、使用步驟引導用戶
盡可能把入口放在易見的位置,例如列表頁top。在用戶首次進行導入操作時,肯定是需要先下載一個模板的,所以我們可以在按鈕旁邊加一個說明指引:“第一步:下載模板;第二步,編寫內容,批量導入?!?/p>
三、提示用戶現在的狀態,如何進行下一步
用戶按照模板填寫完后,就可以點擊【批量導入】按鈕把數據導入。
此時,我們需要兩種情況:數據正確無誤成功導入;導入的數據存在錯誤。
導入數據后,先校驗數據是否有錯誤,如果正確無誤,那么就可以直接在數據庫創建數據,也可以把數據先進行頁面化顯示,讓用戶對數據進行再次確認再進行手動提交入庫。
在這里,我們是建議使用先頁面化顯示這種方式,一是可以讓用戶知道自己導入了哪些數據,二是當有錯誤的時候,可在頁面中直觀的讓用戶看到哪幾行出了錯(當然這種方式要考慮數據量的問題,如果數據量非常大就不適用這種方式)。
而對于導入后某些數據有錯的情況,我們一般又可以分為兩種方式進行處理:
1.允許用戶在線直接修改,導入后提示用戶有幾條錯誤,可以在線進行編輯修改,修改后進行保存。
進行調整也有兩種調整方式:直接在列表中實現可編輯的;點擊列表,彈窗頁進行編輯。
一般都更推薦第二種方式,實現起來更靈活,可直接使用前端的組件
2.不允許用戶在線修改,需要重新上傳。我們需要提示用戶Excel中,哪幾行的數據錯誤,錯誤原因是什么?
至于用哪種方式,一般根據實際情況考慮,特別是數據量,如果錯誤的數據量大還是建議不允許用戶在線修改,提供一個讓用戶自己下載“錯誤報告”的功能(用戶上傳的Excel附加一個錯誤說明),讓用戶對著錯誤說明在Excel上進行修改,重新上傳(畢竟在Excel中批量修改會比在線修改效率要高很多)。
四、如何處理有沖突的數據
在最后,還有一個需要考慮的問題,就是導入的數據存在沖突時該如何處理。我們這個導入是增量導入還是支持覆蓋導入?
如果是要支持如果要支持覆蓋導入,那么這個導入列表就需要加一個在系統中的唯一標識。
以通訊錄為例,導入的列表要加一個員工編號,當導入的時候,檢測這個員工編號在原來系統中是否存在,如果存在,那么就是對原來那條記錄的修改,并且提示用戶,是否對該記錄進行修改,可展示前后對比給用戶看。如果不存在,那么就是新增。
還有一種情況是數據備案導入,那么就要保留原有的歷史數據,同時存儲新導入的數據。
以上是在設計批量導入功能時需要考慮的幾個點,基本可以滿足各種常規的需求,如果還有更好的優化方法,記得給我提建議哦~
作者:叫我阿逸,公眾號:人云逸云;產品道路上不斷前行的產品小白
本文由 @叫我阿逸 原創發布于人人都是產品經理,未經許可,禁止轉載
題圖來自 Unsplash,基于 CC0 協議
批量導入其實是非常不值得提倡的功能,但由于系統許多方面基建跟不上,導致只能用導入做提高效能的替代功能。
1、導入如你所贅述如此簡單? 批量傳入?
2、導入涉及外部數據與其他系統之間數據交換和數據庫字段,邏輯運算匹配復雜關系,涉及操作層面必填字段,非必填字段,為何必填?字段與字段關系,前臺接收數據后展現,存儲方式,狀態?后臺數據關系,權限,字段屬性限制等,是整表導入,還是行或列部分導入,背后設計,驗證,優化,升級大了去啦。
3、導入是一個復雜功能,屬于軟件部分,而不是工具。
我也會對您說的這幾個方面加深研究學習,看看有沒有更好的分享
我所說的只是簡單的功能設計,數據層面沒有描述到。但您的語氣好像很不滿意是因為什么原因…
功能設計?不涉及數據層面,(做一個功能標簽擺設),好好學習,不要太在意,學到內容才是主要的,,
我說的是數據層面沒有描述道,不是不涉及。。。你說的我都懂,我也是技術出身,只是我在這篇文章不是著重在這方面的描述。希望你理解
我也覺得,咄咄逼人
批量導入對性能的要求還是挺高的,除了上限外也要考慮高并發多人同時操作的情況,一般來說可以通過異步任務隊列或者模板配置等方式實現
贊
其實一下子導入幾千條都是很正常的,我們支持在線批量修改或者下載錯誤內容修改
嗯嗯挺好的
受益匪淺
??
一個小功能寫的很詳細
??
導入上限建議用條數限制還是文件大小限制呢
文件大小限制不好操作,還是數量限制把。超過100條或者200條,在線預覽也很不方便
條數限制不好限制,文件大小限制可能會更可行,要考慮你的實際數據量需求來看
導入量挺大,幾萬條都有可能。
幾萬條可能要考慮性能問題了,在限制方面可以做好提示和限制